我正在尝试开发一个通过USB条形码扫描器读取条形码的应用程序。我的问题是我不知道如何通过应用程序访问这个条形码扫描仪并读取值...我想要知道如何检测条形码扫描仪并使用它。任何想法或链接将有助于我可以用来了解这些事情..我是Android的新手..
答案 0 :(得分:3)
最后我得到了这个工作。
Android 2.3上的重要!你可以在OnKeyDown事件中捕获条形码,但在4.3中你的真实扫描器会按下任何聚焦按钮,所以将代码放入dispatchKeyEvent并返回true。某些按钮仍然会被聚焦(选中,预先按下,突出显示,只有上帝知道它是什么),但按下事件不会被解雇。如果有人知道如何避免这种情况(除了自动移动焦点......)告诉我
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
//barcode scanner
int c=event.getUnicodeChar();
//accept only 0..9 and ENTER
if ((c>=48 && c<=57) || c==10){
if (event.getAction()==0) {
if (c >= 48 && c <= 57)
barcode += "" + (char) c;
else {
if (!barcode.equals("")) {
final String b = barcode;
barcode = "";
new Thread(new Runnable() {
public void run() {
checkBarcode(b);
//there you get a string and compare it or store etc
}
}).start();
}
}
}
return true;
}
return super.dispatchKeyEvent(event);
}
答案 1 :(得分:0)
假设您的USB条形码扫描仪处于键盘楔入模式(即扫描条形码时,就像您在活动窗口中输入数字一样),那么您不必做任何东西。只需将条形码插入mini-usb-to-usb适配器并扫描即可。从onKeyDown事件中检索条形码数据。