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

Android URI Scheme唤起异常:单应用仍弹出多选择(Capacitor+React)

Android端Capacitor深度链接唤起时出现应用选择列表的排查方案
  • 模拟器内置组件抢占匹配优先级
    部分Android模拟器的默认浏览器、系统链接处理组件会注册通用的scheme/host规则,即便你只安装了自己的应用,系统仍会将这些内置组件列为URI备选处理者。解决方法是在<intent-filter>中添加android:priority="1000",拉高你的应用匹配优先级:

    <intent-filter android:autoVerify="true" android:priority="1000">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="your-scheme" android:host="your-host" />
    </intent-filter>
    
  • Capacitor自动生成冗余配置
    同步Capacitor项目时,可能会自动生成重复的<intent-filter>条目,导致系统识别出多个可处理该URI的应用入口(包括隐式组件)。检查android/app/src/main/AndroidManifest.xml,删除所有重复的VIEW action+BROWSABLE category的过滤规则,仅保留你手动配置的一组。

  • 模拟器系统缓存未更新
    即便卸载重装应用,模拟器的系统组件(如Google Play服务、媒体存储)可能残留旧的URI注册缓存,导致系统仍显示已失效的处理选项。解决方法是重启模拟器,或在系统应用设置中清除上述组件的缓存后再测试。

  • URI匹配规则过于宽泛
    如果你的<intent-filter>中data标签的scheme、host或path设置不精确,系统会认为其他组件也能匹配该URI。确保配置完全匹配你的深度链接格式,比如链接为myapp://demo.com/profile时,对应配置:

    <data android:scheme="myapp" android:host="demo.com" android:path="/profile" />
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 19:06:04