8

我正在开发一个需要指纹才能打开 Activity 的 Android 应用程序。我刚刚注意到,当我使用指纹解锁手机时,在我的应用中扫描指纹的尝试次数仅为 4 次。

例如:

  • 手机已解锁

  • 使用指纹解锁手机

  • 打开我的指纹应用

  • 无法尝试扫描指纹超过 4 次

另一种情况:

  • 指纹应用程序已打开

  • 仅接受 5 次尝试,应用将不再尝试扫描指纹

  • 等待一段时间,再次,在一段时间内只接受5次尝试

有解决方法吗?

4

2 回答 2

6

我做了一些研究,发现了Android 6.0 Compatibility Definition Document

这在指纹传感器部分中有说明:

具有安全锁屏的设备实现应该包括指纹传感器。如果设备实现包含指纹传感器并具有供第三方开发人员使用的相应 API,则:

在 5 次指纹验证错误尝试后,必须限制尝试至少 30 秒。

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

于 2016-05-11T03:36:10.967 回答
1

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

无论如何,使用最新的 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()
    }
}
于 2020-10-28T04:41:45.060 回答