2017-08-05 76 views
1

在启用FingerPrintSensor的设备上,当我们重新启动设备时,它会暂时禁用指纹并强制用户使用PIN码/密码/模式来解锁设备。我想实现这个功能,所以我使用DevicePolicyManger来锁定用户设备。暂时禁用指纹

mDevicePolicyManager.lockNow(); 

问题是它锁定设备,但仅在少数设备或ROM中禁用指纹。我有自定义ROM的红米Note 3,如血统OS和Mokee Rom,它锁定屏幕并禁用指纹。但与MIUI它只是锁定设备,但不禁用指纹。

为什么这样表现?我如何确保它禁用每个设备/ ROM的指纹认证,或者是否有任何其他替代方案来实现此目的?

回答

2

引脚/模式/密码,您可以尝试使用setKeyguardDisabledFeatures与KEYGUARD_DISABLE_FINGERPRINT设置为完全禁用它们或仅在使用locknow API时禁用它们,稍后重新启用它们。

至于自定义ROM,它们是否都基于相同版本的Android?如果他们是Android 7.0+,我会查看是否MIUI使用全盘加密而不是直接引导的基于文件的加密。这两种加密方法之间的行为存在一些复杂性,并且键盘安全性与相应的加密密钥相关联。在重新启动时,指纹不能被使用,因为它们不被认为是足够强大的方法来解锁硬件支持的密钥库。

+1

尝试侦听ACTION_USER_PRESENT意图。一旦密钥管理器消失,应该播出。然后用KEYGUARD_DISABLE_FEATURES_NONE再次调用setKeyguardDisabledFeatures。 –

0

我的简单答案是加密设备,应该强制启动或重新启动引脚/模式,理论上,但我不知道这是否适用于每个操作系统。如果您尝试解决问题并解决问题,那么操作系统/设备将需要加密/解密才能以某种方式运行。那就是我要开始的地方。

0

使用应用锁定器,如果你有一个使用7.0 +的指纹设备,那么你可以在应用的基础上添加你想要的安全性,Android本机,不需要额外的应用锁定器应用,虽然你可以使用一个如果你需要2FA的话,就像验证器一样),但听起来不像你。如果最终用户在系统中的设置>安全/指纹>应用程序锁定器中设置此设置,则无需将其放入应用程序中,因为系统会覆盖该清单。

https://i.stack.imgur.com/iYEO2.jpg

编辑:它说:“选择你的应用程序加密”您可以指定是否要对应用