如何检测手机是否被密码,别针或图案锁定?
谢谢你!答案 0 :(得分:15)
两种方法
https://gist.github.com/doridori/54c32c66ef4f4e34300f
请注意,您无需检查面部解锁,因为这需要设置引脚/通过后退。
还可以查看设备管理员政策,这些政策允许限制应用的安全设置,包括针脚/通行证限制
另外,如果使用加密的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 ();
}