biometricPrompt.authenticate(**crypto**, promptInfo)
调用,生物识别验证虹膜和人脸检测不会提示。来源参考:
- 使用BiometricPrompt保护数据(2019年5月19日)
- Android上的一个生物识别API(2019年10月30日)
- 生物识别API
测试设备:
- Samsung S8(Android OS 9)
我正在执行的身份验证步骤:
- val biometricPrompt = BiometricPrompt(...)
- val promptInfo = BiometricPrompt.PromptInfo.Builder()...
- biometricPrompt.authenticate(promptInfo)(请参见附件:A,B选项)
还有另一种需要使用Cipher对象的身份验证方法来确保
- biometricPrompt.authenticate(crypto, promptInfo)。 (参考答案: 选项C)
一切都与新旧API设备支持的预期相同,直到测试了其他生物识别身份验证选项如虹膜和面部检测。
如果我跟随
biometricPrompt.authenticate(promptInfo),则应用程序仅基于用户首选项显示身份验证选项,用户必须从“设备设置” -> “生物识别首选项”中选择,并独立执行身份验证。 (参考答案:选项A、B)
但是,如果使用
biometricPrompt.**authenticate**(crypto, promptInfo)
,则仅显示指纹身份验证选项。对于其他偏好选项虹膜和面部检测,在authenticate(..)
方法调用时不会显示任何内容。 (参考答案:选项C)
问题
- 为什么其他生物识别身份验证不会通过加密对象身份验证提示。