【问题标题】:Need to run the EB.BARCODE function from another application需要从另一个应用程序运行 EB.BARCODE 函数
【发布时间】:2020-09-16 21:50:03
【问题描述】:

我们需要从另一个应用程序运行 EB.barcode 函数。为了测试这一点,我们构建了 Zebra 提供的教程,barcode.html,它引用了 ebapi-modules.js。我们将它放在一个名为 ZebraScanner 的文件夹中——只有这两个文件。

当这个文件夹被放置在 /Android/data/com.symbol.enterprisebrowser 文件夹中时——并且修改了 Config.xml 文件以将barcode.html 设置为起始页——它可以完美地工作。

当这个文件夹被放在/Download文件夹中时..这个弹出窗口出现:

{"method":"getDefaultID","params":
[],"_rhoClass":"Rho.Barcode","_rhoID
":"0","jsonrpc":"2.0","id":1}

_rhoNativeApiCall:prompt

【问题讨论】:

  • 代码部分已格式化。

标签: browser barcode-scanner enterprise


【解决方案1】:

您只能从 Zebra 的企业浏览器中运行 EB.Barcode 功能。该产品公开的 webview 公开了执行 ebapi-modules.js 中的逻辑所需的几个 addJavaScriptInterface 调用,因此您会看到该错误。如果您尝试从其他浏览器(例如 Chrome 或 FireFox)中进行扫描,那么一个好方法是将 DataWedge 与 KeyPress 结合使用,https://developer.zebra.com/blog/listening-keypress-events-datawedge 上有一篇文章解释了如何做到这一点

【讨论】:

  • Darrin,这里的全部目标是从我们的 Android 应用程序控制扫描仪。我需要能够在出现错误时关闭扫描仪,并在每次良好扫描后添加一个短暂的延迟,这样我就不会使软件过载。这可能吗?
  • 来自原生 Android 应用?您提到了 EB,所以我假设您正在开发一个 Web 应用程序。您可以通过 DataWedge 完全控制扫描仪,我有一个入门教程:medium.com/@darryncampbell_83863/… 您可以通过 DataWedge API 关闭扫描仪,类似于教程使用 API 模拟硬件触发器的方式。
猜你喜欢
  • 1970-01-01
  • 2017-09-25
  • 1970-01-01
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多