Android ScreenLockReceiver监听锁屏功能示例

本文实例讲述了Android ScreenLockReceiver监听锁屏功能。分享给大家供大家参考,具体如下:

监听屏幕锁屏状态(注册接受者--执行业务--注销接受者)

public class AppLockService extends Service {
  private ActivityManager am;
  private KeyguardManager keyguardManager;
  private LockScreenReceiver receiver;
  @Override
  public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();
    am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
    //注册锁屏广播接收者
    IntentFilter filter = new IntentFilter();
    filter.addAction(Intent.ACTION_SCREEN_OFF);
    receiver = new LockScreenReceiver();
    registerReceiver(receiver, filter);
    new Thread(){
      public void run() {
        //一直在监听锁屏动作,一旦监听到,便执行操作
        while(true){
          boolean isLockScreen = keyguardManager.inKeyguardRestrictedInputMode();
          /**此处可作相应操作*/
        }
      };
    }.start();
  }
  private final class LockScreenReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
      tempAppLocks.clear();
    }
  }
  @Override
  public void onDestroy() {
    super.onDestroy();
    //取消锁屏的广播监听
    unregisterReceiver(receiver);
  }
}

希望本文所述对大家Android程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。