当前位置:   article > 正文

锁屏解锁-KeyguardManager

锁屏解锁-KeyguardManager

判断是否锁屏

KM.isKeyguardLocked()

是否锁屏。不管有没有设置密码

KM.isDeviceLocked()

手机锁屏,且需要密码才能解锁

KM.isKeyguardSecure()

如果锁屏,需要密码(比isDeviceSecure 多了个sim锁)才能解锁。此时也可以没锁屏

KM.isDeviceSecure()

如果锁屏,需要密码才能解锁。此时可以没锁屏。


解锁

KeyguardManager.KeyguardLock.disableKeyguard()

描述:

KeygaurdLock 只有2个方法:
  1. disableKeyguard()
  2. reenableKeyguard()
注释里的信息:
  1. 推荐用 LayoutParams.flag_dismiss_keyguard 代替
  2. 推荐在onResume时调用
  3. 锁屏且没有密码时,才会解锁;有密码,啥都不干
  4. reenableKeyguard() 重新锁屏生效前提是,解锁是用disableKeyguard() 触发的

LayoutParams.flag_dismiss_keyguard

描述

  1. 锁屏且没有密码时,才会解锁
  2. 解锁后,切换到其他没有设置flag的window时,会继续解锁。(flag_show_when_locked ,切换到其他window时就锁屏了)
  3. 推荐用 flag_show_when_locked 或者 KeyguardManager.requestDismissKeyguard() 代替

LayoutParams.flag_show_when_locked

描述

  1. 让 window 在锁屏时可以显示,让 window 的显示层级高于锁屏的层级
  2. 配合 flag_keep_screen_on 使用,让window显示在锁屏界面之上
  3. 配合 flag_dismiss_keyguard 使用,可以打开 非密码锁屏
  4. 只适用于全屏window
  5. 推荐使用 Activity.setShowWhenLocked(boolean) 代替

KeyguardManager.requestDismissKeyguard()

描述

  1. 没有密码时,直接进入
  2. 有密码时,进入密码输入界面
  3. 配合 Activity.setTurnScreenOn(boolean),可以亮屏
  4. 需要show_keyguard_message 权限。且是hide方法

Activity.setShowWhenLocked()

描述

  1. 显示在锁屏层级之上
  2. 正常app 在锁屏后会进入onStop()。但设置此标记后,锁屏后依然在onResume。

亮屏

Activity.setTurnScreenOn()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/619631
推荐阅读