TC52 上的 RhoMobile,Android 8.1:"DS8178 Bluetooth Scanner is not connected ..."

RhoMobile on TC52, Android 8.1: "DS8178 Bluetooth Scanner is not connected ..."

我正在尝试在 TC52 Android 8.1 上获取现有的 RhoMobile APK 运行。 该应用程序在 TC51 上 运行 正常,Android 6. 在 TC52 上,当我启动该应用程序时,我收到一条提示信息

DS8178 Bluetooth Scanner is not connected, therefor BTPairing Utility will be started.

问题是 - 忽略 BTPairing Utility 应用程序(我也尝试禁用它) - 我无法在我的 rho 移动应用程序中使用内置扫描仪。当我尝试使用它时,我在日志

中看到以下消息

"The decodeSound barcode property can only be set once the scanner has finished initialising"

查看底层代码,扫描器似乎没有初始化,可能是因为无法与蓝牙扫描器配对。但是现在有这样的扫描仪,而且永远不会有。有人知道如何禁用此行为吗?

编辑 1: 这是我的 javascript 启用扫描仪的代码

 Rho.Barcode.enable({ allDecoders: true }, this.onScan);

但是,我认为它发生在 javascript 被访问之前;该应用程序托管在网络服务器上;即使我禁用 WIFI 并启动应用程序,也会显示吐司。看起来 RhoMobile 正在尝试设置所有已知的扫描仪。

编辑 2: 当我枚举所有扫描仪时,我按此顺序得到它们

Scanners found: '[
    "Camera Scanner",
    "2D Barcode Imager",
    "Bluetooth Scanner",
    "RS6000 Bluetooth Scanner",
    "DS3678 Bluetooth Scanner",
    "LI3678 Bluetooth Scanner",
    "DS2278 Bluetooth Scanner",
    "DS8178 Bluetooth Scanner"]'
Default scanner: '2D Barcode Imager'

默认扫描仪由

决定
Rho.Barcode.getProperty("friendlyName");

编辑 3: 好的,正如评论中所建议的那样,使用从枚举返回的实际实例;触发扫描仪按钮效果很好。

剩下的就是要求连接DS8178 Bluetooth Scanner的toast;有没有办法从 config.xml 禁用扫描仪?

这个错误:

DS8178 Bluetooth Scanner is not connected, therefor BTPairing Utility will be started.

不是来自 RhoMobile,它是从低级扫描框架生成的。我检查了更新的设备,我很高兴地说他们修复了拼写错误。它是在某些东西(EMDK 或 DataWedge) 尝试启用 DS8178 扫描器 时引起的。 DS 扫描器支持仅在最新版本的移动计算扫描器框架中添加,因此这可能解释了您在 TC51 和 TC52 之间看到的行为差异。

RhoMobile(在 Zebra Android 设备上)封装了 EMDK 并将每个支持的扫描仪公开为单独的条码对象,您可以在枚举返回的数组中看到所有这些。奇怪的是,根据您的第二次编辑,默认扫描仪是“2D Barcode Imager”。

有几个选项/可能性:

  • RhoMobile 框架中存在一个错误,出于某种原因正在启用 DS8178 扫描仪。我检查了 https://github.com/rhomobile/rhodes/tree/master/lib/commonAPI/barcode/ext/platform/android/src/com/rho/barcode 并且看不到任何此类错误。 Rho 是开源的,但如果您想探索那条路线,则由 Tau-Technologies 提供支持。
  • 您设备上的其他东西正在启用 DS8178 扫描仪,例如DataWedge 配置文件或其他使用 EMDK 的应用程序。您可以禁用 DataWedge(从 DataWedge 应用程序设置)并重新启动您的设备以对此进行测试。
  • TC52 有问题。我会说这是最不可能的,因为我从未听说过类似的问题

无法通过 XML

禁用任何扫描仪