从Android中的蓝牙条形码读取器中读取数据



我想使用蓝牙条形码扫描仪读取条形码。我不想使用蓝牙键盘仿真(HID)模式,因为在扫描之前很难指向文本框。

我阅读了这个开发人员。必须使用端代码定界符(CR,LF等)收听写入事件。

如果您的蓝牙条形码扫描仪没有更改hid模式为SSP模式的开关*,则您无法与他联系。(*硬件或软件开关)

Android与HID Bluetooth(人接口设备)本地连接,不要让它们走:)。

所以,我解决了我的问题阅读和覆盖键盘事件。

@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);
    }
}

注意:

  • barcoderadearison-用户可以打开/关闭
  • 此代码"截然"仅输入和数字字符从0到9。

最新更新