1

我所做的:

我正在使用以下教程来掌握如何在 Android 中使用指纹认证的基本知识:http: //joerichard.net/android/android-fingerprint-example/

我基本上遵循它,除了我添加了一个按钮并且我想在单击该按钮时对用户进行身份验证。

所以我有以下变化

        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = (Button) findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                authentication();
            }
        });

        ...

        protected void authentication(/* Bundle savedInstanceState */) {
        //super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);

        ...

我的问题:

当我单击按钮时,将调用以下通知(在“FingerprintHandler.java”中):

                Toast.makeText(appContext,
                "Authentication error\n" + errString ,
                Toast.LENGTH_LONG).show();

errString 是Fingerprint operation canceled. ,错误消息 ID 是5

通过搜索,我发现对应于FINGERPRINT_ACQUIRED_TOO_FAST,但是我不明白为什么会发生这种情况。

我尝试了什么:

  • 我试图在将手指放在扫描仪上时单击该按钮,但通知是即时的,这让我相信它甚至没有听/扫描指纹。

  • 我也试图让它在没有按钮的情况下工作,但在这种情况下没有任何反应。

如果您发现可能出现的问题或有我可以调查的方向,请告诉我。

谢谢你。

4

1 回答 1

0

我的传感器不能很好地工作。阅读需要多次尝试(有时根本不起作用)。因此,我会通过单击导致错误的按钮重试。

当再次单击按钮并给出错误时,该功能不会从扫描仪读取任何读数FINGERPRINT_ACQUIRED_TOO_FAST

在我的情况下,此特定错误 ( TOO_FAST) 被触发的事实对我没有帮助,因为正如我所解释的,此错误消息是在单击按钮时触发的。

如果有人遇到同样的问题,请给您的传感器更多时间/机会来识别正在读取手指。

于 2017-01-17T20:48:08.980 回答