Я столкнулся с той же проблемой, имхо, короткий ответ - игнорировать устаревание, если вы только хотите поддерживать аутентификацию по отпечатку пальца в своем приложении.
Как указано в блоге разработчиков Google. , так как API 28 Google предлагает новый API биометрии, который упрощает весь процесс биометрической аутентификации. . Они предоставляют простой конструктор для диалога авторизации. Кроме того, они также поддерживают обнаружение лица и радужной оболочки — имхо, это всего лишь вопрос времени, если вы захотите его поддерживать, и, возможно, стоит обновить его.
Единственный недостаток, который я обнаружил до сих пор, заключается в том, что если вы хотите проверить, например, оборудование для отпечатков пальцев доступно, вам нужно будет запустить процесс аутентификации, чтобы проверить это, и дождаться обратный вызов ошибки. Устаревший API отпечатков вместо этого предоставляет такие методы, как isHardwareDetected()
или hasEnrolledFingerprints()
для этой цели. В этом случае вам, вероятно, придется перепроектировать свое приложение, если вы полагаетесь на эту информацию. Причина устаревания этих методов, вероятно, заключается в том, что они поддерживают только отпечатки пальцев, поэтому было бы неплохо обновить их.
Google также предоставил версию compat 'androidx.biometric:biometric:1.0.0-alpha02'
для устройств ниже API 28. Кажется, что, импортировав эту зависимость, вы можете просто переключиться на разрешение USE_BIOMETRIC
, не изменяя ничего другого в своем приложении — вы не будете беспокоит предупреждение больше. Так как это только в альфа-стадии, я бы использовать его с осторожностью. Поэтому, пока вы не используете ничего из биометрического API, вы также можете просто игнорировать проблему и столкнуться с ней снова, когда захотите поддерживать дополнительные методы биометрической аутентификации.
EDIT: теперь выпущена бета-версия библиотеки совместимости, 'androidx.biometric:biometric:1.0.0-beta01'
. Дополнительную информацию об этом можно найти здесь.
Теперь стабильная версия библиотеки совместимости выпущена 18 декабря 2019 г., «androidx.biometric:biometric:1.0.1». Для получения дополнительной информации об этом нажмите здесь.
person
mathew11
schedule
22.10.2018
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
разрешение в файл манифеста - person AskNilesh   schedule 17.07.2018BiometricPrompt
вместоFingerprintManagerCompat
- person manuelwaldner   schedule 05.10.2018BiometricManager.from(context).canAuthenticate() == BiometricManager.BIOMETRIC_SUCCESS
Вам не нужноFingerprintManagerCompat.from(context).isHardwareDetected()
Он вернетBIOMETRIC_ERROR_NO_HARDWARE
, если аппаратное обеспечение недоступно, иBIOMETRIC_ERROR_NONE_ENROLLED
, если отпечаток пальца не зарегистрирован (или лицо, радужная оболочка, ...) - person RiRomain   schedule 16.07.2020