Android KeyguardManager中isDeviceLocked与isKeyguardLocked的区别是什么
KeyguardManager两类锁状态判断方法差异说明
两个方法核心区别
isKeyguardLocked()
判断的是系统锁屏界面是否处于展示且未解锁的状态,和用户是否设置安全锁屏无关:只要滑动锁屏、密码锁屏等任意类型的锁屏界面正在显示且没有被解开,就返回true,否则返回false。isDeviceLocked()
是Android 5.0新增的API,判断的是设备是否处于需要身份验证才能访问隐私数据的状态,仅当用户设置了带验证的安全锁屏(PIN、密码、图案、生物识别等)时才可能返回true:如果用户只设置了无验证的滑动锁屏,哪怕锁屏界面正在展示,这个方法也会返回false;设备重启后首次解锁前、安全锁屏未验证通过时,这个方法返回true。
使用场景适配建议
如果需要判断设备是处于使用状态还是锁定状态,直接使用isKeyguardLocked()即可满足需求:
- 返回
true:设备处于锁屏状态,用户无法直接操作应用 - 返回
false:设备处于已解锁的可使用状态
内容的提问来源于stack exchange,提问作者TooFewDocu
相关产品推荐
相关产品推荐

