大家都知道,从Android9.0开始,安卓引入了BiometricPrompt Api,为越来越多的生物识别传感器(如指纹、人脸ID等)提供标准的认证体验。
现在,通过这种新的BiometricPrompt,Api用户可以通过指纹、人脸扫描仪或虹膜扫描(取决于他们的生物特征偏好)进行身份验证。BiometricPrompt api将处理这一问题,并将通过各种回调通知我们。
下面是我显示生物识别提示的代码。
biometricPrompt = new BiometricPrompt.Builder(context)
.setTitle("FingerPrint Authentication")
.setSubtitle("Login via Fingerprint")
.setDescription("Touch Fingerprint Sensor")
.setNegativeButton("Cancel", context.getMainExecutor(),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Log.d(TAG,"Cancelled");
}
})
.build();现在,如果您看到我的代码,我将标题设置为指纹身份验证。现在在设备设置中,如果用户将生物识别首选项设置为Face 而不是 fingerprint ,则此将通过faceID对用户进行身份验证,即使用户一直触摸传感器,指纹传感器也无法工作。这将造成混淆,因为生物识别标题是说“指纹认证”和用户实际上是通过faceID认证的。
有什么方法可以让我们知道用户选择了什么生物识别偏好(例如指纹或FaceID)?因此,基于这种偏好,我可以在BiometricPrompt上显示适当的消息,这样用户就不会感到困惑。
我已经从BiometricPrompt中探索了所有api,但是可以找到任何与BiometricPreference相关的内容。
任何帮助都将不胜感激。
https://stackoverflow.com/questions/55588234
复制相似问题