当前位置: 首页 > 知识库问答 >
问题:

从条形码扫描仪捕捉键盘输入

单于高逸
2023-03-14

我正在构建一个基本的价格检查应用程序,可以扫描条形码并显示产品信息,并试图在内置条形码扫描仪的Android平板电脑上运行它。

扫描仪可以工作,如果我把一个文本框放在应用程序上并对其进行聚焦,我扫描的条形码就会写在上面--然而,如果应用程序不对文本框进行聚焦,我就无法捕捉输入(应用程序应该没有输入区域,只有图像和文本视图标签)。

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    if (event.getCharacters() != null && !event.getCharacters().isEmpty()) {
        isRunning = true;
        Log.d(TAG, "Starting");

        String barcode = event.getCharacters();
        new myImageTask().execute(barcode);
    }
    return super.dispatchKeyEvent(event);
}

我查看了重写KeyUp和KeyDown事件,但它们似乎是为捕获单个键事件而显式构建的。

我是否可以使用另一个事件来捕获和读取扫描仪的完整输入,或者我是否应该将KeyDown事件链接起来,将每个单独的键缓冲到一个静态变量中,然后在收到一个特殊的输入终止字符后,对结果运行我的任务?

共有1个答案

时宾实
2023-03-14

看看下面的代码是否对您有帮助:

barcodeEditText.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (event.getAction() == KeyEvent.ACTION_DOWN)
            {
                switch (keyCode)
                {
                    case KeyEvent.KEYCODE_DPAD_CENTER:
                    case KeyEvent.KEYCODE_ENTER:
                            saveToDBMethod();
                            barcodeEditText.setText("");
                            barcodeEditText.requestFocus();
                        return true;
                    default:
                        break;
                }
            }

            return false;
        }
    });
 类似资料:
  • 我正在为平板电脑开发一个android应用程序(SynchroDigital iNOSP10-4.0 RES型号),我想使用ZXing库扫描包含字符串的QRcode。它会在我需要时启动扫描仪,但我无法扫描任何东西。 实际上,如果我直接使用条形码扫描仪应用程序,它甚至不起作用,黄色的点出现了,但什么也没有发生,无论亮度、距离或二维码的复杂性(尝试使用一个只包含字母“a”的巨大二维码),它都不会起作用

  • 使用ML Kit的条码扫描API,您可以读取大多数使用标准条码格式编码的数据。 条形码是将信息从现实世界传递到应用程序的一种便捷方式。特别是,使用QR码等二维格式时,您可以编码结构化数据,如联系人信息或WiFi网络凭证。由于ML Kit可以自动识别和解析这些数据,因此当用户扫描条形码时,您的应用可以进行智能响应。 iOS Android 关键功能 阅读大多数标准格式 线性格式:Codabar,Co

  • 所以我有下面的代码,它区分软键盘输入和蓝牙条形码扫描仪... 这个想法是条形码扫描器有一个设备ID,而软键盘没有。现在的问题是我有一个活动,既支持硬蓝牙键盘,软键盘(如果他们不使用硬键盘),以及条形码扫描仪。

  • 问题内容: 有人可以告诉我创建条形码扫描器应用程序(对于Android)是否困难?OpenCV库是一个好的开始吗?在哪里可以找到清楚说明如何读取条形码的算法?我将感谢有关该主题的所有优秀材料! 提前致谢! 问题答案: ZXing项目提供了一个独立的条形码读取器应用程序-通过Android的意图机制-希望集成条形码扫描的其他应用程序可以调用该应用程序。 最简单的方法是从应用程序中调用ZXing SC

  • 我有一个物理条形码扫描器,我想在应用程序中获得它的输入,即条形码,而不需要有聚焦的。 我尝试在我的中添加。但是,没有调用其实现的方法(、等)。

  • 代码如下: 错误图片: 参考号:https://ionicframework.com/docs/native/barcode-scanner/