我必须实现一个应用程序,通过蓝牙从 1D激光条码扫描器,here描述页面接收数据。
如果您选择EditText
:EditText
具有焦点,当您扫描条形码时,它会接收条形码内容并“神奇地”填充,此扫描仪可以正常工作有这个内容。
问题是我希望不关注EditText
,我希望用户扫描条形码,应用程序通过委托方法或套接字接收数据,我解析数据和自动将它放在正确的EditText中(每个条形码都有一个校验位,允许我识别它是什么)。
扫描仪通过蓝牙自动连接,所以我只需要了解如何继续监听套接字并解析收到的数据。
想法?
答案 0 :(得分:4)
没有魔法参与:)。该扫描仪正在模拟蓝牙键盘(HID接口)。谷歌删除了从Android 4.2开始连接L2CAP套接字的功能,因此您可能无法获得与设备的套接字连接。您可以做的是捕获键盘输入与EditText字段相同。您需要将输入焦点放到主窗口并在Java代码中覆盖此函数:
@Override
public boolean onKeyDown(int keyCode, KeyEvent msg)
{
}
然后,您将能够从设备接收一系列字符,并构建/解析生成的字符串。
答案 1 :(得分:-3)
用户zxing库获得优秀的条形码阅读
https://code.google.com/p/zxing/source/browse/trunk#trunk/core/src/com/google/zxing
Voteup如果它对你有帮助