Android:如何将连接到Android应用程序的外部条形码扫描仪设备集成到应用程序中

9

我正在开发商店的POS应用程序,商店老板可以使用任何品牌的条形码扫描设备。我需要获取已扫描商品的详细信息。是否有可用于此目的的库文件。

附加信息:

  • 外部条形码扫描器通过USB连接到设备。

  • 我需要事件来获取从扫描器扫描并发送的数据。


1
是的,我想要手机与外部扫描仪进行通信。 - Sridhar
那么Scanner有与服务器端通信的框架或其他东西吗? - Ozan
@ozi 我认为每个条形码扫描仪都支持 Android 的集成,但我的需求是为所有或更多的外部条形码扫描仪提供共同的支持。 - Sridhar
在我看来,每个条形码扫描器都应该将其数据发送到远程服务器(他们可能可以),然后您可以使用 JSON 或其他方式从智能设备获取这些数据。 - Ozan
2
我讨厌人们轻易关闭这样有价值的问题。SO 不仅仅是关于编写代码,也包括寻找解决方案! - Yar
显示剩余6条评论
2个回答

17
我认为几乎所有的条形码扫描仪都支持Android集成,但我需要为所有或更多外部条形码扫描仪提供通用支持。
听起来你正在寻找一个你自己承认不存在的东西。并没有一个所有扫描仪都实现适当的Android集成的通用标准。话虽如此,以下是您可以实现两个目标的方法。
任何品牌:大多数条形码扫描仪都支持HID模式,这基本上只是连接为键盘;这就是几乎所有USB扫描仪的工作方式。使用HID模式,扫描仪将在光标所在位置“输入”条形码,这样您就无法控制太多。
结束事件:同样,大多数条形码扫描仪都可以配置为附加后缀字符。通常默认为回车或制表符。在您的活动或视图中,您可以设置一个onKeyListener,并在该侦听器中监听您的尾随字符的KEY_DOWN事件,该事件表示扫描结束。
使用HID和尾随字符检测,您将能够支持大多数有线和无线扫描仪。

当 USB 被移除时,Activity 会被销毁。你是如何解决这个问题的? - dpaksoni

0
一个简单的方法是使用一个中间 Linux 机器,该机器配置了 Sane。当它能够与本地 Sane 前端 (例如 XSane) 协同工作时,你可以尝试使用一些在 Google Play 上可用的 Sane 前端应用程序将 Linux 连接到手机上。下一步是实现你自己的前端。最后 - 移植一些功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接