window.setTimeout('rexseeKeyguard.disable();rexseeWakeLock.acquire(false);alert(\'點亮屏幕!\');',5000); alert('請按電源鍵關屏,5秒後自動亮屏。');
rexseeWakeLock.release();
/* * Copyright (C) 2011 The Rexsee Open Source Project * * Licensed under the Rexsee License, Version 1.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.rexsee.com/CN/legal/license.html * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package rexsee.core.alarm; import rexsee.core.browser.JavascriptInterface; import rexsee.core.browser.RexseeBrowser; import android.content.Context; import android.os.PowerManager; public class RexseeWakeLock implements JavascriptInterface { private static final String INTERFACE_NAME = "WakeLock"; @Override public String getInterfaceName() { return mBrowser.application.resources.prefix + INTERFACE_NAME; } @Override public JavascriptInterface getInheritInterface(RexseeBrowser childBrowser) { return this; } @Override public JavascriptInterface getNewInterface(RexseeBrowser childBrowser) { return new RexseeWakeLock(childBrowser); } private final Context mContext; private final RexseeBrowser mBrowser; private PowerManager.WakeLock mWakeLock = null; public RexseeWakeLock(RexseeBrowser browser) { mBrowser = browser; mContext = browser.getContext(); } public RexseeWakeLock(Context context) { mBrowser = null; mContext = context; } //JavaScript interface public void acquire(boolean onAfterRelease) { release(); PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); int mode = PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP; if (onAfterRelease) { mode = mode | PowerManager.ON_AFTER_RELEASE; } mWakeLock = pm.newWakeLock(mode, ""); mWakeLock.acquire(); } public void release() { if (mWakeLock != null) { mWakeLock.release(); mWakeLock = null; } } }
僅對Rexsee的源碼和函數事件作了整理,相關的demo或源碼解析能夠在Rexsee社區瞭解,目前Rexsee已提供了近2000個擴展,覆蓋Android原生功能超過90%,且所有開放: http://www.rexsee.com/