Android 如何检测ICS中是否启用面部解锁?

Android 如何检测ICS中是否启用面部解锁?,android,android-4.0-ice-cream-sandwich,Android,Android 4.0 Ice Cream Sandwich,我需要能够检测用户是否在ICS(android 4.0)中启用了面部解锁。有什么办法吗 我能够检测到是否启用了锁模式,如下所示: Settings.Secure.getInt(getContentResolver(),Settings.Secure.LOCK\u模式已启用) 但似乎没有一个等效的面部解锁设置 谢谢。我一直在研究同一个问题。这是我遇到的唯一解决方案,但它要求为您的应用程序启用设备管理 DevicePolicyManager dpm = (DevicePolicyManager)co

我需要能够检测用户是否在ICS(android 4.0)中启用了面部解锁。有什么办法吗

我能够检测到是否启用了锁模式,如下所示:

Settings.Secure.getInt(getContentResolver(),Settings.Secure.LOCK\u模式已启用)

但似乎没有一个等效的面部解锁设置


谢谢。

我一直在研究同一个问题。这是我遇到的唯一解决方案,但它要求为您的应用程序启用设备管理

DevicePolicyManager dpm = (DevicePolicyManager)context.getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName component = new ComponentName(context.getApplicationContext(), WrDeviceAdminReceiver.class);
dpm.setPasswordQuality(component, DevicePolicyManager.PASSWORD_QUALITY_BIOMETRIC_WEAK); 
result = (dpm.isActivePasswordSufficient() == true);
dpm.setPasswordQuality(component,  DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);

我没有找到解决方案,但我最终使用logcat来监视正在启动的face unlock设置活动。我的应用程序需要警告用户不要使用face unlock,所以这对我有效。这实际上对我无效。如果您有pin或密码,且未启用面部解锁,则会给出误报。android文档中写道:“质量常数被排序,因此更高的值更具限制性”。密码质量生物特征弱是第二个最低编号常量(32768),略高于密码质量(0),略低于密码质量(65536)。因此,任何现有的密码质量比密码质量弱(几乎所有密码质量弱)更严格,都会导致isActivePasswordEnough()返回true。