【问题标题】:Reading the value from a hardware barcode scanner从硬件条形码扫描仪读取值
【发布时间】:2018-11-28 12:33:15
【问题描述】:

我的设备中插入了一个物理条码扫描仪,我试图用它来扫描太小以至于相机无法聚焦的条码。

在我的活动中,这些是我用来检查按键的两个函数,因为我假设它被当作硬件键盘处理。

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    Log.v("KeyPressed", "here");
    return true;
}

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    Log.i("KeyPressed", String.valueOf(event.getKeyCode()));
    return super.dispatchKeyEvent(event);
}

日志是这样出来的:

2018-11-28 12:27:17.176 23132-23132/uk.wefix I/KeyPressed: 59
2018-11-28 12:27:18.158 23132-23132/uk.wefix I/KeyPressed: 71
2018-11-28 12:27:18.171 23132-23132/uk.wefix I/KeyPressed: 71
2018-11-28 12:27:18.171 23132-23132/uk.wefix V/KeyPressed: here

但是我不确定如何获取条形码扫描仪发送的实际内容。如果我有一个文本输入焦点然后我会得到以下出现034234243423

什么可以让它通过?

提前致谢

【问题讨论】:

    标签: android barcode barcode-scanner


    【解决方案1】:

    就像处理键盘输入一样,您需要将这些值转换为字符。也最好在onKeyDown()使用下面的代码。

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        char pressedKey = (char) event.getUnicodeChar();
        Barcode += "" + pressedKey;
        Toast.makeText(getApplicationContext(), "Data: " + Barcode, 1)
                .show();
        return true;
    }
    

    【讨论】:

    • 除非有办法知道扫描仪已完成发送数据,否则这是行不通的>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    相关资源
    最近更新 更多