Как мы все знаем, с android 9.0, android представил BiometricPrompt Api , чтобы обеспечить стандартную аутентификацию для растущего диапазона биометрических датчиков (например, отпечатков пальцев, Face ID и т. Д.).
Теперь с этим новым BiometricPrompt Api пользователь может пройти аутентификацию с помощью отпечатка пальца, сканера лица или радужной оболочки (в зависимости от его биометрических предпочтений).BiometricPrompt api позаботится об этом и уведомит нас с помощью различных обратных вызовов.
Ниже приведен мой код для отображения Biometric Prompt.
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();
Теперь, если вы видите мой код, я настраиваюназвание как Аутентификация по отпечатку пальца .Теперь в настройках устройства, если пользователь установил биометрическое предпочтение как Идентификатор лица вместо FingerPrint , тогда этот biometricPrompt будет аутентифицировать пользователя через faceID и датчик отпечатков пальцев работать не будетдаже если пользователь продолжает касаться датчика.Это может создать путаницу, так как биометрический заголовок говорит, что «Аутентификация по отпечатку пальца» и пользователь фактически проходит аутентификацию через faceID
Есть ли способ узнать, какой пользователь биометрических предпочтений выбрал (например, отпечаток пальца или FaceID)?Таким образом, основываясь на этом предпочтении, я могу показать соответствующее сообщение на BiometricPrompt, чтобы пользователь не запутался.
Я уже исследовал все API-интерфейсы от BiometricPrompt, но смог найти что-нибудь, связанное с BiometricPreference.
Любая помощь будет весьма полезной.оценили.