Android锁屏时会先调用onPause();解锁时调用onResume,读入保存的应用程序的资源。如果运行程序时已经锁屏,应用程序会先调用onCreate(),然后onResume(),再则onPause()。
取消锁屏:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>KeyguardManager mKeyGuardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);KeyguardLock mLock = mKeyGuardManager.newKeyguardLock("自己Activity名字");mLock.disableKeyguard();

也是相当的简单了,但基于Rexsee的API,可以通过一句话搞定。 1. 取消锁屏:window.setTimeout('rexseeKeyguard.disable();alert(\'自动解锁!\');',10000); alert('请按电源键关屏再开屏看到锁屏画面,10秒后自动解锁。') 2. 启动锁屏:rexseeKeyguard.reEnable();
如下是rexseeKeyguard.java源码:
/* * 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.app.KeyguardManager;  import android.app.KeyguardManager.KeyguardLock;  import android.content.Context;   public class RexseeKeyguard implements JavascriptInterface {          private static final String INTERFACE_NAME = "Keyguard";         @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 RexseeKeyguard(childBrowser);         }          private final Context mContext;         private final RexseeBrowser mBrowser;         private KeyguardLock mKeyguardLock = null;          public RexseeKeyguard(RexseeBrowser browser) {                 mBrowser = browser;                 mContext = browser.getContext();         }         public RexseeKeyguard(Context context) {                 mBrowser = null;                 mContext = context;         }          //JavaScript Interface          public void enable() {                 /*                 try {                         DevicePolicyManager dpm = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);                         dpm.lockNow();                 } catch (Exception e) {                         mBrowser.exception(getInterfaceName(), e);                 }                 */         }         public void reEnable() {                 if (mKeyguardLock != null) {                         mKeyguardLock.reenableKeyguard();                         mKeyguardLock = null;                 }         }         public void disable() {                 KeyguardManager keyguardManager = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);                 mKeyguardLock = keyguardManager.newKeyguardLock("");                 mKeyguardLock.disableKeyguard();         }   }

仅对Rexsee的源码和函数事件做了整理,相关的demo或源码解析可以在Rexsee社区了解,目前Rexsee已提供了近2000个扩展,覆盖Android原生功能超过90%,且全部开放: http://www.rexsee.com/

更多相关文章

  1. Android(安卓)对话框(Dialog)大全 建立你自己的对话框
  2. 文章分享:Android四大组件详解
  3. 用Eclipse开发android原码
  4. WiFi流程
  5. Android(安卓)App调用跳转百度地图、高德地图、腾讯地图进行目的
  6. 如何下载并编译Android4.0内核源码goldfish(图文)
  7. Android(安卓)集成百度地图实现设备定位
  8. Android系统源码阅读(18):Android(安卓)应用的显示
  9. Android调用JNI出错 java.lang.UnsatisfiedLinkError: No implem

随机推荐

  1. android之PopupWindow
  2. Android GLSurfaceView模糊效果
  3. Android 获取手机信号
  4. android ViewFlipper实现图片轮播
  5. Android条形统计图实现
  6. ubuntu下搭建cordova开发环境
  7. android获得圆角图片
  8. Multitasking the android way
  9. Android 列表对话框
  10. android背景自动伸缩