Flutter 应用程序如何从手持条码扫描仪获取条码?

How does Flutter application get a barcode from the handheld barcode scanner?

我需要使用手持条码扫描器读取 flutter 应用程序的条码。 按下触发器后,手持条码扫描器读取条码并尝试自动将值发送到已聚焦的输入文本。

这取决于您使用的扫描设备。 市场上有各种条码扫描器设备,如 scanbot、dynasoft、zebra 扫描器等。我建议您使用 Zebra 扫描仪。 下面是斑马扫描器主页的 link,您可以在其中找到扫描器设备和 Android SDK 以及一些示例演示代码 https://www.zebra.com/ap/en/support-downloads/scanners.html

如果您打算将扫描器与 flutter 应用程序集成,那么您需要寻找插件或自己编写一个插件

您可以使用裸代码 reader 作为手机或平板电脑上 USB 的外接键盘。它会很好用。

使用这个库flutter_barcode_listener

它的工作原理如下。

  1. 监听物理键盘原始键弹起事件
  2. 仅过滤掉 'REAL' 字符(小于256的ASCII码,不含特殊字符 除了输入)
  3. 在每个新密钥上检查以前的密钥是否早于 bufferDuration,如果它是旧的清除内部缓冲区
  4. 检查新键是否为回车键,如果是则调用onBarcodeScanned回调 并清除缓冲区
  5. 如果不是回车键就把它附加到内部缓冲区;