Android BiometricPrompt ошибка анимации при запуске

Я внедрил androidx BiometricPrompt в приложение и столкнулся с проблемой, которая довольно сильно влияет на UX.

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

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

Я пытался заново создавать само приглашение каждый раз, когда действие возобновляется, но это не повлияло на это поведение. Подсказка и информация подсказки создаются следующим образом:

prompt = BiometricPrompt(this, mainExecutor, object: BiometricPrompt.AuthenticationCallback(){

            override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
                authenticateFingerprint()
            }

            override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
                if(errorCode==BiometricPrompt.ERROR_NEGATIVE_BUTTON){
                    biometryCancelled = true
                }
            }

            override fun onAuthenticationFailed() {
            }
        })
promptInfo = BiometricPrompt.PromptInfo.Builder()
                .setTitle("title")
                .setNegativeButtonText("cancel")
                .build()
prompt.authenticate(promptInfo)

Я застрял с этой проблемой довольно долго, и я был бы признателен за любую помощь.

0 ответов

Другие вопросы по тегам