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

从Android中的蓝牙条形码阅读器读取数据,android,bluetooth,barcode-scanner,Android,Bluetooth,Barcode Scanner,我想用蓝牙条形码扫描仪读取条形码。 我不想使用蓝牙键盘模拟HID模式,因为在任何扫描之前都很难指向文本框 我读了这篇文章,但还没有找到有用的东西。 必须侦听带有结束代码分隔符CR、LF等的写入事件。如果您的蓝牙条形码扫描仪没有将HID模式更改为SSP模式的开关*,则您无法与他连接。*硬件或软件交换机 Android与HID蓝牙人机界面设备进行本机连接,不要让它们离开: 因此,我解决了读取和重写键盘事件的问题 @Override public boolean dispatchKeyEvent(Ke

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

我读了这篇文章,但还没有找到有用的东西。
必须侦听带有结束代码分隔符CR、LF等的写入事件。

如果您的蓝牙条形码扫描仪没有将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-用户具有打开/关闭开关 此代码仅截取0到9之间的输入和数字字符。
我一刻也没有想到这可能是你的责任:这是我现在面临的问题,我认为这可能是一个普遍关注的问题。就像这个网站上的所有帖子一样。如果你想对某人刻薄,请在你自己的后院注意!我一点也不刻薄,我只是指出,这是一个错误的网站,你发布这个问题。这个网站的目的是帮助人们解决代码中的问题,而不是告诉人们如何去做。因此,如果您对某段代码没有特定的问题,那么您的网站就错了,您的问题在短期内既不会得到很好的回答,也不会得到很好的回应。不起作用,我尝试了onKeyDown、dispatchKeyEvent、onKeyListener,所有这些都不起作用,my edittext in Fragments使用带SPP串行端口配置文件的蓝牙1D/2D条形码扫描仪读取串行蓝牙通信。