Инициализировать BiometricPrompt в API 29

Я пытаюсь добавить аутентификацию fingerPrint в своем приложении с использованием BioMetricPrompt уровня API 29.

Я придерживаюсь некоторого кода для этого, но большинство доступных кодов для API более низкого уровня. В API 29 класс BiometricPrompt сильно изменился по сравнению с API низкого уровня.

Мой основной вопрос - как инициализировать класс BiometricPrompt для проекта, в котором целевым API является API 28 или 29.

Я пытаюсь сделать это с помощью FingerprintManagerCompat, но это устарело. Итак, пожалуйста, помогите мне с созданием экземпляра класса BiometricPrompt.

1 ответ

После того, как я почти не получал отзывов и исследований почти 24 часа, я получаю решение своих проблем после исследований на разных ресурсах.

Так, androidx.core.hardware.fingerprint.FingerprintManagerCompat устарела во вновь доступных API 28 и 29, и вместо этого доступен другой класс, который androidx.biometric.BiometricPrompt,

Этот новый BiometricPrompt более эффективен и помогает отображать стандартное диалоговое окно, чтобы провести пользователя через процесс аутентификации, выполнить аутентификацию и сообщить результаты в приложение. Класс BiometricPrompt имеет класс статического компоновщика PromptInfo это может быть использовано для настройки и создания экземпляров BiometricPrompt.

Итак, решение для создания экземпляра BioMetricPrompt в соответствии с недавно доступным API:

val biometricPrompt = BiometricPrompt.PromptInfo.Builder()
            .setTitle("Biometric Demo")
            .setSubtitle("Authentication is required to continue")
            .setDescription("This app uses biometric authentication to protect your data.")
            .setNegativeButtonText("Cancel")
            .build()

BiometricPrompt(this.activity!!, getMainExecutor(this.activity), getAuthenticationCallback()).authenticate(biometricPrompt)
Другие вопросы по тегам