[AndroidTips]如何判断手机屏幕是否Secure Lock

手机的屏幕锁分为secure lock和non secure lock。

non secure lock的目的是防止用户误操作,比如手机放到口袋里不小心拨打了电话。解除non secure lock每个手机厂商都有自己的实现方式,比如有的手机需要滑动一下。任何人都可以来解锁。

secure lock是出于安全性的考虑,用户需要输入密码或者其他安全方式才能解锁,其他人不能解锁。secure lock分为多种模式:

Pattern模式 - 图案模式,用户需要按预先设置的顺序按9个点中的几个点才能解锁;

PIN模式 - 用户需要输入PIN code,PIN code只由数字组成;

Password模式 - 密码由字母(包括大小写),数字以及特殊字符组成;

生物模式 - 比如人脸解锁,指纹解锁等

 

目前,Android SDK中可以通过android.app.KeyguardManager的inKeyguardRestrictedInputMode()来判断手机是否处于lock,但不能进一步判断是secure lock还是non secure lock。

 

通过android.provider.Settings.Secure中的LOCK_PATTERN_ENABLED可以判断手机是否处于secure lock中的pattern mode,但不能判断其他的secure lock mode。

 

要想准确判断手机是否处于secure lock,可以参考下面的代码:

/frameworks/base/core/java/com/android/internal/widget/LockPatternUtils.java

以及

android.app.admin.DevicePolicyManager的PASSWORD_QUALITY_XXX定义和android.provider.Settings.Secure的LOCK_PATTERN_ENABLED值来进行。

你可能感兴趣的:([AndroidTips]如何判断手机屏幕是否Secure Lock)