如何检测解锁手机是否需要PIN /密码/模式?

时间:2011-10-24 17:01:55

标签: android locking unlock

如何检测手机是否被密码,别针或图案锁定?

谢谢你!

3 个答案:

答案 0 :(得分:15)

两种方法

  1. 以编程方式检查 - API 16 +
  2. https://gist.github.com/doridori/54c32c66ef4f4e34300f

    请注意,您无需检查面部解锁,因为这需要设置引脚/通过后退。

    1. 设备管理员政策
    2. 还可以查看设备管理员政策,这些政策允许限制应用的安全设置,包括针脚/通行证限制

      另外,如果使用加密的Keystore,这些是您要检查的锁类型。查看here了解详情。

答案 1 :(得分:5)

您可以使用Settings.Secure类在Android设备上查询有关安全性的信息。例如,要查看用户是否启用了锁定模式,您可以执行以下操作:

ContentResolver cr = getContentResolver();
int lockPatternEnable = 
  Settings.Secure.getInt(cr, Settings.Secure.LOCK_PATTERN_ENABLED);

lockPatternEnable如果未启用则为0,如果启用则为1。

答案 2 :(得分:1)

根据文档,这对于Android API 16及更高版本应该可以。我在19上进行了测试,它似乎可以正常工作。

private boolean IsDeviceSecured () {
    KeyguardManager keyguardManager =
            (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE); //api 16+
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        return keyguardManager.isDeviceSecure();
    }
    return keyguardManager.isKeyguardSecure ();
}