Android指纹在一段时间内只允许尝试5次

Android Fingerprint only allows 5 attempts at a period of time

我正在开发需要指纹才能打开 Activity 的 Android 应用程序。我刚刚注意到,当我使用指纹解锁我的 phone 时,在我的应用程序中尝试扫描指纹的次数只变成了 4 次。

例如:

另一种情况:

有解决办法吗?

我做了一些研究并找到了 Android 6.0 Compatibility Definition Document

这是在指纹传感器部分说明的:

Device implementations with a secure lock screen SHOULD include a fingerprint sensor. If a device implementation includes a fingerprint sensor and has a corresponding API for third-party developers, it:

MUST rate limit attempts for at least 30 seconds after 5 false trials for fingerprint verification.

所以..我想目前没有解决方法。

在搜索我遇到的相同问题时遇到了这个 Whosebug。

无论如何,使用最新的 API BiometricPrompt,我们现在可以通过覆盖 AuthenticationCallback

来自定义行为
BiometricPrompt.AuthenticationCallback() {
    override fun onAuthenticationError(
        errorCode: Int,
        errString: CharSequence
    ) {
        super.onAuthenticationError(errorCode, errString)
    }

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

    // called when an attempt to authenticate with biometrics fails
    // i.e. invalid fingerprint
    override fun onAuthenticationFailed() {
        super.onAuthenticationFailed()
        // keep track of a counter here and decide when to dismiss the dialog
        biometricPrompt?.cancelAuthentication()
    }
}