如何检测手机是否被密码、pin 或图案锁定?
谢谢你!
两种方法
https://gist.github.com/doridori/54c32c66ef4f4e34300f
请注意,您不需要检查面部解锁,因为这需要设置 pin/pass 回退。
还可以查看设备管理策略,该策略允许限制应用程序的设置方式,包括安全性,包括 pin/pass 设置限制
顺便说一句,如果使用加密的Keystore
. 在这里查看更多信息。
您可以使用Settings.Secure类来查询有关 android 设备上的安全性的信息。例如,要查看用户是否启用了锁定模式,您可以:
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 ();
}