【问题标题】:How to stop fingerprint scanner event如何停止指纹扫描仪事件
【发布时间】:2017-08-17 20:06:37
【问题描述】:

我已经使用代号一实现了指纹扫描仪功能。 在发布表单事件中,我写了下面的代码。

Fingerprint.scanFingerprint(value -> {
    Log.p("Scan successfull!");
   showForm("Home",null);
}, (sender, err, errorCode, errorMessage) -> {
    Log.p("Scan Failed!");
    showForm("Login",null);
});

指纹扫描成功后,“主页”表单将打开。但是当我将手指放在扫描仪上时,显示的主页表单扫描仪事件在后台仍然处于活动状态,它会扫描指纹并再次执行相同的操作。 扫描成功或失败后,我必须停止指纹扫描仪事件。 解决方案是什么?

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    问题不在于指纹扫描仪,而是表单的 post show 事件。

    如果其他功能不依赖此侦听器,您需要删除正在调用指纹扫描仪的节目侦听器或所有节目侦听器。

    myForm.addShowListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent evt) {
            myForm.removeShowListener(this);//or myForm.removeAllShowListeners()
            Fingerprint.scanFingerprint(value -> {
                Log.p("Scan successfull!");
                showForm("Home",null);
            }, (sender, err, errorCode, errorMessage) -> {
                Log.p("Scan Failed!");
                showForm("Login",null);
            });
        }
    });
    

    【讨论】:

    • 你能分享一下你目前是如何使用指纹的吗?
    • 您总是可以在扫描后翻转“忽略”标志。这发生在哪个操作系统上?
    • 使用 DDMS 调试应用程序以检查任何错误。这可能是由于未授予权限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多