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

求助:Android TWA应用内App Links无法触发,Chrome中正常

TWA内App Links无法触发的解决办法

问题根源

TWA基于Chrome自定义标签页实现,默认会拦截同域名的导航请求,直接在TWA内部加载网页,不会触发系统的App Links解析逻辑——它会把同域名链接当成Web内容的一部分处理,而非需要唤起原生组件的请求。

可行方案

方案1:后端添加响应头拦截

给https://example.com/app/feature这个URL返回专属响应头,强制TWA触发Intent:

X-Android-Intent: intent://example.com/app/feature#Intent;scheme=https;package=你的应用包名;end

替换你的应用包名为实际包名后,TWA识别到这个头就会放弃内部加载,转而唤起对应的HelloActivity。

方案2:前端JS直接触发Intent

在网页按钮的点击事件里,直接跳转Intent协议链接,绕过TWA的默认导航:

document.querySelector('#触发按钮ID').addEventListener('click', () => {
    window.location.href = 'intent://example.com/app/feature#Intent;scheme=https;package=你的应用包名;end';
});

方案3:修改TWA的Manifest配置

在TWA的LauncherActivity的Intent过滤器里,添加路径排除规则,让系统接管目标链接:

<activity android:name="com.google.androidbrowserhelper.trusted.LauncherActivity">
    <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" />
        <data android:host="example.com" />
        <!-- 排除目标路径,让系统处理 -->
        <data android:pathPattern=".*[^/app/feature]" />
    </intent-filter>
    <!-- 其他TWA相关配置 -->
</activity>

这样TWA只会处理除了/app/feature之外的同域名链接,目标路径的请求会交给系统解析App Links。

验证要点

  • 先卸载并重新安装TWA应用,清除缓存
  • 测试TWA内点击链接,确认HelloActivity正常启动
  • 同时验证Chrome端的App Links功能不受影响

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 19:42:25