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

如何在Android中精准匹配指定Query参数的Deep Link?

你可以利用Android的sspPattern属性精确匹配查询参数,结合路径规则,直接在Manifest层实现仅允许目标Deep Link的需求,无需后续跳转判断。

正确的Intent Filter配置

替换你当前的<data>标签为以下配置:

<data
    android:host="example.com"
    android:scheme="https"
    android:sspPattern="/magic_links/.*\\?.*client_id=android($|&)" />

配置说明

  • sspPattern负责匹配URL中路径+查询参数的完整片段(scheme-specific part),这是核心——pathPattern仅作用于路径部分,无法识别?后的查询参数,这也是你之前尝试失效的原因。
  • /magic_links/.*:确保路径以/magic_links/开头,后续可匹配任意字符(对应你的UUID部分)。
  • \\?:转义匹配查询参数的起始问号?(正则中?是特殊字符,必须转义才能匹配实际的问号)。
  • .*client_id=android:匹配包含client_id=android的查询参数段,允许该参数前后存在其他查询参数;如果需要严格只允许这一个参数,可改为client_id=android$。
  • ($|&):确保client_id=android的结尾要么是链接的结束,要么是下一个参数的分隔符&,彻底排除client_id=android1这类参数值不精确的情况。

之前方案无效的原因

  • android:sspPattern=".*?client_id=android":该规则会匹配client_id=android1,因为android是android1的子串,无法精确限制参数值。
  • android:pathPattern="/magic_links/.*client_id=android.*":pathPattern仅处理URL的路径部分,完全不会识别?后的查询参数内容,因此对目标规则无效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 16:37:49