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
相关产品推荐
相关产品推荐

