在Android 6.0(Marshmallow)中使用指纹扫描仪时,我遇到了一些奇怪的问题,我无法理解。
我已经搜索了所有内容,但只能查看与硬件缺陷相关的内容。
应用程序接受,加密,解密和验证指纹就好了,但它只能在它出于某种原因停止工作之前进行5次尝试。 (更多内容见下文)
我已经设置了应用程序,允许用户在实施安全锁定计时器之前进行四次扫描尝试,但是如果我故意无法进行4次身份验证。然后我等待锁定5分钟的时间然后回来我只能扫描我的手指一次,之后指纹似乎停止收听,直到我强行退出应用程序管理器中的应用程序?
然后再次接受指纹。
authenticationFailed回调代码:
@Override
public void onAuthenticationFailed() {
authenticationDialog.dismiss();
cancellationSignal.cancel();
//Add one to the number of attempts taken
attemptCount += 1;
if (attemptCount < maxAttempAllowance) {
AlertDialog.Builder message = new AlertDialog.Builder(appContext);
message.setTitle("Authentication Failed");
message.setMessage("The finger you scanned is not registered in your devices settings or your device failed to identify you.");
message.setPositiveButton("Try Again", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
showAuthenticationDialog();
startAuth(manager, cryptoObject);
}
});
message.setIcon(R.drawable.cross_flat);
message.setCancelable(false);
message.show();
}
else {
AlertDialog.Builder message = new AlertDialog.Builder(appContext);
message.setTitle("Authentication Failed");
message.setMessage("You have exceeded the maximum login attempts allowed. Try again in 5 minutes.");
message.setIcon(R.drawable.cross_flat);
message.setCancelable(false);
message.show();
setSecurityBanTimer();
}
}
即使没有锁定安全代码,扫描仪仍然只能接受5次打印。
答案 0 :(得分:8)
我发现API强制安全性在第5次尝试和进一步尝试之间有30秒的差距。
这意味着如果应用程序的安全性将锁定设置为4,则在第5次尝试后扫描程序将无响应。
<强>文档强>
具有安全锁定屏幕的设备实现应该包括指纹传感器。如果设备实现包含指纹传感器并且具有针对第三方开发人员的相应API,则: 在指纹验证的5次错误试验后,必须对限制尝试至少30秒。
查找信息here。