Android - 指纹扫描仪在5次尝试后停止工作?

时间:2016-07-13 06:14:30

标签: java android fingerprint

在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次打印。

1 个答案:

答案 0 :(得分:8)

我发现API强制安全性在第5次尝试和进一步尝试之间有30秒的差距。

这意味着如果应用程序的安全性将锁定设置为4,则在第5次尝试后扫描程序将无响应。

<强>文档

具有安全锁定屏幕的设备实现应该包括指纹传感器。如果设备实现包含指纹传感器并且具有针对第三方开发人员的相应API,则: 在指纹验证的5次错误试验后,必须对限制尝试至少30秒。

查找信息here