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

Android App Links:含#的链接无法匹配Intent Filter问题排查

问题分析与解决

你的配置错误在于对URL结构的理解:URL中的#page1属于**锚点(Fragment)**部分,而Android Intent Filter的<data>标签里的android:path属性只会匹配URL的路径部分,不会包含锚点内容,所以当前配置无法匹配目标链接。

正确的处理方式分为两步:

  • 先在Manifest中匹配URL的基础部分(协议、主机、路径)
  • 锚点部分需要在代码中单独获取并处理

修正后的Manifest配置

<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:path="/"/>
</intent-filter>

代码中处理锚点逻辑

在接收Intent的Activity中,通过Uri.getFragment()获取锚点值并做对应处理:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Uri data = getIntent().getData();
    if (data != null) {
        String fragment = data.getFragment();
        if ("page1".equals(fragment)) {
            // 执行page1对应的业务逻辑
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:29:50