You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Android应用调用PWA:自定义URL Scheme配置疑问

解决PWA通过自定义Scheme从Android应用打开的问题

嘿,这个问题我之前帮朋友踩过坑——自定义Scheme可不是直接用manifest里的应用名称/短名称,得专门配置协议处理器或者Intent Filter才行!下面分两种常见场景给你详细说明:

场景1:纯浏览器安装的PWA(未打包成原生APK)

如果你的PWA是直接通过Chrome、Edge这类浏览器安装到桌面的,那得在manifest.json里加个protocol_handlers字段来注册自定义Scheme,配置示例如下:

{
  "name": "My PWA",
  "short_name": "MyPWA",
  "start_url": "/mypage",
  // 其他manifest配置(比如icons、display这些)...
  "protocol_handlers": [
    {
      "protocol": "web+mypwascheme",
      "url": "/%s"
    }
  ]
}

这里有几个关键细节要注意:

  • 按照W3C规范,自定义Web Scheme得用web+开头,避免和原生应用的Scheme冲突
  • url里的%s是占位符,会自动替换成Scheme后面的完整内容(比如web+mypwascheme://http://my.test.host/mypage会被解析到你的PWA路由/http://my.test.host/mypage,你可以根据自己的业务逻辑调整这个路由)
  • 配置完一定要卸载旧的PWA,重新从浏览器安装——因为浏览器只会在安装PWA的时候读取协议处理器的配置,改了manifest不重装是不会生效的

另外,目前主流Chromium内核浏览器(Chrome、Edge)对protocol_handlers支持都不错,其他小众浏览器可能支持有限,测试的时候优先用这些主流浏览器。

场景2:打包成Trusted Web Activity(TWA)的PWA

如果你的PWA已经用Bubblewrap之类的工具打包成了原生APK,那得在Android项目的AndroidManifest.xml里加Intent Filter来处理自定义Scheme,步骤很简单:

  1. 找到启动Activity的配置,添加上Intent Filter:
<activity
    android:name="com.google.androidbrowserhelper.trusted.LauncherActivity">
    <!-- 其他Activity配置(比如theme、launchMode这些)... -->
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <!-- 这里填你的自定义Scheme -->
        <data android:scheme="mypwascheme" />
    </intent-filter>
</activity>
  1. 重新打包APK安装到设备,这样其他Android应用调用mypwascheme://http://my.test.host/mypage时,系统就会唤起你的TWA应用了。

额外提醒

  • 测试前一定要确认PWA已经正确安装(桌面有独立图标,能离线运行)
  • 纯PWA的调用格式是web+mypwascheme://xxx,注意Scheme后面是://,不是你之前写的: (空格会导致解析失败)
  • 如果还需要通过普通HTTP/HTTPS链接唤起PWA,记得把manifest里的scope和start_url配置正确,并且display设为standalone或fullscreen

按照上面的方法配置后,应该就能解决你的问题啦!

内容的提问来源于stack exchange,提问作者Alex Radyuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:39:08