【问题标题】:ZXing.NET laser scanningZXing.NET激光扫描
【发布时间】:2017-04-03 21:29:16
【问题描述】:

有没有办法强制 ZXing.NET 应用程序使用设备上的内置激光扫描仪而不是相机?我有一个使用 Android TC55 扫描条码的客户端,主要要求是使用内置激光扫描条码。根本不希望使用内置摄像头进行扫描。

该设备具有 DataWedge 功能,因此是否可以通过这种方式访问​​扫描仪?任何信息,将不胜感激。

【问题讨论】:

  • 如果设备有内置扫描仪,那么您根本不需要使用 ZXing。 “tc55 扫描仪 api”出现了几个有趣的热门歌曲。
  • 谢谢,我已经把这个选项作为最后的手段了 这是一个现有的应用程序,它有几个钩子到 ZXing.NET 库中,我希望避免重写。

标签: c# android xamarin zxing datawedge


【解决方案1】:

恐怕没有办法,因为 ZXing 是在 Apache 下发布的,而 TC55 仅在专有许可下提供 API(因此 ZXing 永远不会在未经修改的情况下进行接口)。我编写了一种 shim 层形式,在原生 Android 之上为 ZXing 和 Zebra API https://github.com/darryncampbell/GenericScanWedge 公开一个意图接口,但这不适合您尝试做的事情,因为它不是 .NET 并且需要应用程序修改。

【讨论】:

    【解决方案2】:

    我认为 TC55 有它的 EMDK,有一个移植 Xamarin

    您可以尝试查看此示例

    XAMARIN Barcode Scanner

    Android 项目的 Activity 使用 Profile API 来配置 DataWedge 以读取 EAN13 和 CODE128 条形码并以广播意图发送数据。此配置分配给活动本身(com.pietromaggi.sample,barcodeForms.MainActivity)。

    Form 使用 DependencyService 发送 DataWedge Intent(接口在 Portable 库中,我只实现了 Android 端)。

    实现了一个广播接收器来处理来自 DataWedge 的 Intent,该接收器在 MainActivity 中注册,并在那里注册一个事件处理程序来处理接收到的数据,

    事件处理程序使用 MessagingCenter 将数据发送到表单,以便它可以显示数据。 (如果您需要将数据发送到 Xamarin Forms 应用)

    【讨论】:

    • 谢谢,我最终使用了 Datawedge 功能,结果非常完美。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    相关资源
    最近更新 更多