首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >阻止android中的进一步扫描

阻止android中的进一步扫描
EN

Stack Overflow用户
提问于 2014-11-12 08:52:49
回答 1查看 49关注 0票数 0

我正在扫描条形码,把字符串放到编辑文本中,然后用它进行搜索。没问题。

我的问题是,当条形码被扫描时,动作会执行3次,而不是jsut一次。我想这是因为它需要几毫秒来完成搜索和启动操作,但是在这段时间里,扫描仪会发送更多的扫描(相同的条形码)。

代码语言:javascript
运行
复制
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        Logger.i(TAG, "KeyCode: " + keyCode);
        switch(keyCode) {
        case KeyEvent.ACTION_DOWN:
            someAction();
            break;

        case KeyEvent.KEYCODE_ENTER:
            someAction()
            break;

        }
        return false;
    }

扫描工作正常,扫描成功后,我只会得到两个关键事件,所以整个过程将被执行2次以上……

编辑:我正在使用两种不同的扫描仪,第一种是发送keyCode 0,另一种是keyCode 66,这就是我处理两者的原因。这个问题发生在keyCode 0上,我还没有用其他扫描仪进行测试。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-12 09:01:46

创建一个状态(布尔值),以了解何时需要处理扫描的条形码。

示例:布尔值mustHandleScan = true。当扫描确实识别了条形码时,将该布尔值更改为false。并且只在布尔值为真的情况下进行搜索。您可以使用计时器(可能是倒计时器)在x秒之后将布尔值更改为true。这是一个很容易实现的解决方案,我也在使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26882785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档