我想使用蓝牙条码扫描器阅读条形码。 我不想使用蓝牙键盘仿真(HID)模式,因为在任何扫描之前很难指向文本框。
我读了这个developer.android.com/guide/topics/connectivity/bluetooth.html,但我还没有找到可用的东西。 必须使用结束符分隔符(CR,LF等)监听写事件。
答案 0 :(得分:3)
如果您的蓝牙条码扫描器没有用于将HID模式更改为SSP模式的开关*,则您无法与他联系。 (*硬件或软件开关)
Android本地与HID蓝牙(人机接口设备)连接,不要放手:)。
所以,我解决了阅读和覆盖键盘事件的问题。
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (barCodeRadearIsOn && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER || (event.getKeyCode() >= 7 && event.getKeyCode() <= 16))) {
if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
if (event.getAction() == KeyEvent.ACTION_UP){
Toast.makeText(context, barCode, Toast.LENGTH_LONG).show();
....... .......
barCode = "";
}
} else {
if (event.getAction() == KeyEvent.ACTION_UP){
barCode = barCode + (char)event.getUnicodeChar();
}
}
return true;
} else {
return super.dispatchKeyEvent(event);
}
}
注意: