锁屏解锁-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()

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值