19

如何检测手机是否被密码、pin 或图案锁定?

谢谢你!

4

3 回答 3

19

两种方法

  1. 以编程方式检查 - API 16+

https://gist.github.com/doridori/54c32c66ef4f4e34300f

请注意,您不需要检查面部解锁,因为这需要设置 pin/pass 回退。

  1. 设备管理策略

还可以查看设备管理策略,该策略允许限制应用程序的设置方式,包括安全性,包括 pin/pass 设置限制

顺便说一句,如果使用加密的Keystore. 在这里查看更多信息。

于 2015-01-06T14:49:44.530 回答
5

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

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

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

于 2011-10-24T17:06:43.900 回答
4

根据文档,这对于 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 ();
}
于 2019-01-29T03:14:06.463 回答