我正在开发一款需要指纹打开活动的Android应用程序。我刚注意到,当我使用指纹解锁手机时,在我的应用中扫描指纹的次数仅为4次。
例如:
手机已解锁
使用指纹解锁手机
打开指纹应用
无法尝试扫描指纹超过4次
另一种情况:
指纹应用已开启
只接受5次尝试,app将不再尝试扫描指纹
等待一段时间,一次只能接受5次尝试
有解决方法吗?
答案 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()
}
}