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
禁用任何扫描仪
我正在尝试在 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
禁用任何扫描仪