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

时间:2016-05-11 02:53:15

标签: android encryption fingerprint android-security android-fingerprint-api

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

例如:

  • 手机已解锁

  • 使用指纹解锁手机

  • 打开指纹应用

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

另一种情况:

  • 指纹应用已开启

  • 只接受5次尝试,app将不再尝试扫描指纹

  • 等待一段时间,一次只能接受5次尝试

有解决方法吗?

2 个答案:

答案 0 :(得分:3)

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

指纹传感器部分说明了这一点:

  

具有安全锁定屏幕的设备实现应该包括指纹传感器。如果是设备   实现包括指纹传感器,并为第三方开发人员提供相应的API,   它:

     

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

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

答案 1 :(得分:0)

搜索我遇到的相同问题时,请跨此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()
    }
}