我已通过BiometricPrompt(androidx)实现了生物特征认证。它运作良好,但我只能使用一次按键。如果我试图在第一次之后立即第二次使用它-我会收到一个异常UserNotAuthenticatedException。对于密钥创建,我使用以下代码:
KeyGenParameterSpec.Builder(alias, KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT)
.setDigests(KeyProperties.DIGEST_SHA256, KeyProperties.DIGEST_SHA512)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_RSA_OAEP)
.setUserAuthenticationRequired(true)
.build()
我还试图添加.setUserAuthenticationValidityDurationSeconds(10)
来解决我的问题。但是只有在使用电源按钮解锁设备后才能使用。并且不适用于BiometricPrompt请求。看起来像个错误。解决方案存在吗?