【问题标题】:Receiving Intents into Progressive Web App接收 Intent 到 Progressive Web App
【发布时间】:2019-09-07 01:24:15
【问题描述】:

我正在尝试为我们的业务构建一个库存管理应用程序。我没有太多构建原生应用程序的经验,所以我开始研究渐进式网络应用程序。我们正在使用安装了数据楔的 Zebra TC 设备,这将允许我通过 Intent 系统将条形码读数输出到 Android 应用程序。

是否可以将 Android Intent 接收到非原生的渐进式网络应用中?

例如,如果我扫描条形码,我想在将记录该项目的页面上打开 Web 应用程序。所以我扫描条形码,然后将数据发送到 example.com/items/scan?barcode="Scanned Barcode"。

我创建了一个配置文件以将条形码输出到内置的 Android 意图。但是,这不会将 Web 应用程序打开到此页面,它只会将 chrome 应用程序打开到不是所需响应的页面。

意图: android.intent.action.MAIN

意图类别: android.internet.category.LAUNCHER

然后使用格式将 URL 附加到扫描的条形码。

EGhttps://example.com/items/scan?barcode=01234567

以上内容将打开一个新的 Chrome 页面到 URL,但不是我安装的网络应用程序。非常感谢任何帮助!

【问题讨论】:

    标签: android-intent progressive-web-apps


    【解决方案1】:

    根据Android docs,看起来应该可以,但是条形码应用的意图可能是错误的类别?

    在 Android 上安装 Progressive Web App 时,它将为应用范围内的所有 URL 注册一组意图过滤器。当用户点击应用范围内的链接时,应用将被打开,而不是在浏览器选项卡中打开。

    考虑以下部分 manifest.json:

    "start_url": "/",
    "display": "standalone",
    

    当使用它的网络应用程序是 从应用程序启动器启动,它将打开 https://example.com/ 为 一个独立的应用程序,没有任何浏览器 chrome。

    [生成的] WebAPK 将包含以下意图过滤器:

    <intent-filter>
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data
        android:scheme="https"
        android:host="example.com"
        android:pathPrefix="/" />
    </intent-filter>
    

    如果用户在已安装的应用程序中单击指向https://example.com/read 的链接,它将是 被意图捕获并在 Progressive Web App 中打开。

    我对Android不太了解,但是你能换个生成android.intent.category.DEFAULT的条码扫描器吗?

    【讨论】:

      【解决方案2】:

      “是否可以将 Android 意图接收到渐进式网络应用中,因为它不是原生的?”

      没有。

      参考:PWA interoperability with Android apps/services?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-29
        • 2020-02-14
        • 1970-01-01
        相关资源
        最近更新 更多