从硬件条形码扫描仪读取值



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

在我的活动中,这是我用来检查按键的两个功能,因为我认为它是作为硬件键盘处理的。

@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

是什么让这一切得以实现?

提前感谢

这就像处理键盘输入一样,需要将这些值转换为字符。此外,最好在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;
}

最新更新