3

在启用指纹传感器的设备中,当我们重新启动设备时,它会暂时禁用指纹并强制用户使用密码/密码/图案解锁设备。我想实现这个功能,所以我使用DevicePolicyManger来锁定用户设备。

mDevicePolicyManager.lockNow();

问题是它确实锁定了设备,但仅在少数设备或 ROM 中禁用了指纹。我有带有自定义 rom 的 Redmi Note 3,如 lineage OS 和 Mokee Rom,它锁定屏幕并禁用指纹。但是使用 MIUI,它只会锁定设备,但不会禁用指纹。

为什么会这样?我如何确保它禁用每个设备/ROM 的指纹身份验证,或者是否有其他替代方法可以实现此目的?

4

3 回答 3

3

您可以尝试使用setKeyguardDisabledFeatures并将 KEYGUARD_DISABLE_FINGERPRINT 设置为完全禁用它们,或者在使用 locknow API 时仅禁用它们,稍后重新启用它。

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

于 2017-08-07T06:18:06.883 回答
0

使用应用程序储物柜,如果您有使用 7.0 + 的指纹设备,那么您可以逐个应用程序添加您想要的安全性,Android 原生,不需要额外的应用程序储物柜应用程序,尽管您可以使用一个(如身份验证器,如果您需要2FA),但听起来不像你做的那样。您不需要将它放在您的应用程序中,因为如果最终用户在系统内的设置>安全/指纹>应用程序储物柜中设置它,系统将覆盖该清单。

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

编辑:在“为应用程序选择加密”的地方,您可以指定是否需要应用程序的 pin/pattern/password

于 2017-08-05T20:10:02.923 回答
0

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

于 2017-08-05T19:42:11.110 回答