如何检测手机是否被密码、 PIN 或图案锁定?
谢谢!
两种方法
https://gist.github.com/doridori/54c32c66ef4f4e34300f
请注意,您无需检查面部解锁,因为这需要设置 pin/pass 回退。
还可以查看设备管理员策略,该策略允许限制有关安全性方面的应用程序设置,包括 pin/pass 设置限制
顺便提一下,如果使用加密的 Keystore
,这些是要检查的锁类型。请查看此处获取更多信息。
ContentResolver cr = getContentResolver();
int lockPatternEnable =
Settings.Secure.getInt(cr, Settings.Secure.LOCK_PATTERN_ENABLED);
lockPatternEnable
如果未启用,则值为0;如果已启用,则值为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 ();
}