下面摘自http://developer.android.com/reference/android/app/KeyguardManager.html

公共(public) bool isDeviceLocked()

返回设备当前是否被锁定并且需要PIN,图案或密码来解锁。如果解锁设备当前需要PIN,图案或密码,则返回true。

公共(public) bool isKeyguardSecure()

返回键盘锁是否需要密码才能解锁。如果键盘锁是安全的,则返回true。
isDeviceLockedisKeyguardSecure有什么区别?

最佳答案

公共(public) bool isDeviceLocked()

此方法考虑了锁屏的当前UI状态。

因此,如果已设置安全的屏幕锁,则在以下情况下,它会与 isKeyguardSecure()返回false相反:

  • 用户已解锁锁屏并正在使用设备
  • Smart Lock功能(设置->安全-> Smart Lock)使设备无需经过进一步身份验证即可解锁

  • 公共(public) bool isKeyguardSecure()

    此方法不考虑锁定屏幕的当前UI状态。

    因此,如果已设置安全的屏幕锁,则无论用户是否已解锁锁屏,或者智能锁是否允许未经进一步认证的解锁,它都将始终返回true

    我无法重现ByteHamster btw报告的行为。

    10-04 13:03