-1
我想使用蓝牙条形码扫描器读取条形码。 我不想使用蓝牙键盘仿真(HID)模式,因为在任何扫描之前,都难以指向文本框。从Android中的蓝牙条形码读取器读取数据
我看了这个developer.android.com/guide/topics/connectivity/bluetooth.html但我还没有找到可用的东西。 必须监听带有结束代码分隔符(CR,LF等)的写入事件。
我想使用蓝牙条形码扫描器读取条形码。 我不想使用蓝牙键盘仿真(HID)模式,因为在任何扫描之前,都难以指向文本框。从Android中的蓝牙条形码读取器读取数据
我看了这个developer.android.com/guide/topics/connectivity/bluetooth.html但我还没有找到可用的东西。 必须监听带有结束代码分隔符(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);
}
}
注:
搞清楚如何要做到这一点是你的责任。我们不在这里为你做你的工作。 –
我从来没有想过,它可能是你的责任:)这是我现在面临的问题,我认为可能是一个普遍的兴趣。就像这个网站上的所有帖子一样。如果你想对别人有意思,请在你自己的后院注意! –
我完全不是故意的,我只是指出这是你发布这个问题的错误网站。本网站旨在帮助人们解决代码中的问题,而不是告诉人们如何去做。因此,如果您对一段代码没有特定的问题,那么您的网站就会出现问题,并且您的问题不会很快收到,也不会很快得到答复。 –