7

我正在实施生物识别技术,如果用户不想要/拥有生物识别技术,我希望能够回退到使用 PIN 码。

问题是,当用户选择“使用 PIN”,输入他们的 PIN,并验证两个不同的回调时,会触发:

第一个:onAuthenticationSucceeded这是预期的。第二个:onAuthenticationErrorBiometricConstants.ERROR_USER_CANCELED

为什么输入 PIN 而不是生物识别会触发 ERROR_USER_CANCELED?我通过完成我的活动来处理这个错误,这不是我在这个流程中想要的。我这样做是因为当用户在对话框之外点击时我想关闭应用程序并且在这种情况下会触发同样的错误(尽管有这个修复)。

有没有办法区分故意取消对话框(通过后退按钮或在对话框外点击)和输入 PIN?

这是我的PromptInfo

        val promptInfo = BiometricPrompt.PromptInfo.Builder()
                .setTitle(getString(R.string.lock_title))
                .setSubtitle(getString(R.string.lock_summary))
                .setConfirmationRequired(false)
                .setDeviceCredentialAllowed(true)
                .build()

在装有 Android 10 的 Pixel 2 上进行测试。使用版本"androidx.biometric:biometric:1.0.1"。谢谢!

4

1 回答 1

0

它的一个错误仍然需要解决,我目前正在使用 redmi note 8 pro 并遇到同样的问题。

于 2021-01-05T09:57:39.233 回答