Как установить запасной метод, если отпечаток пальца не работает - PullRequest
2 голосов
/ 08 июля 2019

Я недавно переместил свой проект на AndroidX, и при реализации отпечатка пальца для приложения я использую Biometric for AndroidX.

implementation 'androidx.biometric:biometric:1.0.0-alpha03'

Когда отображается диалоговое окно для использования отпечатка пальца для аутентификации, в диалоговом окне отображается «Отмена»."опция установлена ​​как отрицательная кнопка.

 final BiometricPrompt.PromptInfo promptInfo = new BiometricPrompt.PromptInfo.Builder()
            .setTitle("Log into App")
            .setSubtitle("Please touch the fingerprint sensor to log you in")
            .setDescription("Touch Sensor")
            .setNegativeButtonText("Cancel".toUpperCase())
            .build();

Согласно документации Android: https://developer.android.com/reference/androidx/biometric/BiometricPrompt.PromptInfo.Builder.html#setNegativeButtonText(java.lang.CharSequence)

Required: Set the text for the negative button. 
This would typically be used as a "Cancel" button, but may be also used
to show an alternative method for authentication, 
such as screen that asks for a backup password.

Так что вместо кнопки" Отмена "я могу сказать" Использовать пароль "дляпредоставить альтернативный метод, если отпечаток пальца не срабатывает, и когда пользователь щелкает по нему, я могу показать другое всплывающее диалоговое окно, где я могу позволить пользователю ввести пароль устройства, чтобы помочь восстановить пароль приложения из хранилища ключей.Это правильно ?

Но что произойдет, если у меня не установлен пароль для разблокировки телефона, вместо этого я использую шаблон?

Я вижу, что если я использую android.hardware.biometrics.BiometricPrompt.Builder вместоandroidx.biometric.BiometricPrompt.PromptInfo.Builder, для той же цели у него есть метод https://developer.android.com/reference/android/hardware/biometrics/BiometricPrompt.Builder.html#setDeviceCredentialAllowed(boolean), позволяющий пользователю выполнять аутентификацию с использованием других средств в случае сбоя отпечатка пальца.

Может ли кто-нибудь помочь мне понять это?Как я мог добиться этого с AndroidX, поскольку мое приложение совместимо с API 16 и выше.И почему AndroidX не возвращается с этим резервным методом?

...