Мне нужно выполнить две проверки для каждого типа биометрических данных.Проверка 1. Проверьте, поддерживает ли устройство указанную биометрию.
Проверка 2. Проверьте, использовал ли пользователь биометрию при биометрической регистрации.
У меня есть два способа сделать это:
Код: Выделить всё
private fun isFaceEnrolled(): Boolean {
val packageManager = packageManager
val biometricManager = BiometricManager.from(this)
val hasFaceHardware = packageManager.hasSystemFeature(PackageManager.FEATURE_FACE)
val canAuthenticateWithFace = biometricManager.canAuthenticate(BiometricManager.Authenticators.BIOMETRIC_STRONG) == BiometricManager.BIOMETRIC_SUCCESS
return hasFaceHardware && canAuthenticateWithFace
}
private fun isFingerprintEnrolled(): Boolean {
val packageManager = packageManager
val biometricManager = BiometricManager.from(this)
val hasFingerprintHardware = packageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)
val canAuthenticateWithFingerprint = biometricManager.canAuthenticate(
BiometricManager.Authenticators.BIOMETRIC_STRONG
) == BiometricManager.BIOMETRIC_SUCCESS
return hasFingerprintHardware && canAuthenticateWithFingerprint
}
Тем не менее, метод isFaceEnrolled возвращает true.
Есть ли в нем что-то, что я не проверил правильно?
Подробнее здесь: https://stackoverflow.com/questions/792 ... ecognition