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