2

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

该设备具有 DataWedge 功能,所以也许有办法以这种方式访问​​扫描仪?任何信息,将不胜感激。

4

2 回答 2

2

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

于 2017-04-03T21:42:40.363 回答
1

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

您可以尝试查看此示例

XAMARIN 条码扫描器

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

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

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

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

于 2017-04-03T22:21:25.210 回答