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

时间:2017-03-08 11:15:48

标签: android bluetooth barcode-scanner

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

我读了这个developer.android.com/guide/topics/connectivity/bluetooth.html,但我还没有找到可用的东西。 必须使用结束符分隔符(CR,LF等)监听写事件。

1 个答案:

答案 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);
    }
}

注意:

  • barCodeRadearIsOn - 用户打开/关闭开关
  • 此代码&#34;拦截&#34;仅输入0到9之间的数字和数字字符。