Android 14应用无法通过指定链接唤起,请求排查问题
Android 14下链接无法唤起应用的排查要点
1. 检查配置完整性
- 必须包含
VIEWaction、DEFAULT和BROWSABLEcategory,三者缺一不可:<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data>标签需精准匹配链接规则:
针对https://example.com/copyPOI/?ID=xxx这类链接,配置需覆盖scheme、host和路径前缀:
注意:若链接带<data android:scheme="https" android:host="example.com" android:pathPrefix="/copyPOI/" />www前缀,需同步修改host为www.example.com,或添加多组<data>标签覆盖不同域名。- 确认
<intent-filter>归属的Activity未与其他同类型filter冲突,避免系统匹配优先级异常。
2. 适配Android 14的隐式Intent限制
- 对于targetSdkVersion=34的应用,被唤起的Activity必须设置
android:exported="true",否则系统会拒绝外部隐式Intent调用:<activity android:name=".MainActivity" android:exported="true"> <!-- 你的intent-filter配置 --> </activity> - 若多个应用匹配同一链接,系统可能保留用户之前设置的默认应用。可通过adb命令直接测试,排除默认设置干扰:
若adb能唤起应用,说明是用户默认应用设置问题,需引导用户在系统设置中清除浏览器的默认链接关联。adb shell am start -a android.intent.action.VIEW -d "https://example.com/copyPOI/?ID=613a558o3f8ba"
3. 链接格式与匹配校验
- 核对链接的
scheme(必须是https,与配置一致)、host(无拼写错误,如example.com vs www.example.com); - 路径匹配需注意:
pathPrefix="/copyPOI/"会匹配/copyPOI/?xxx,若配置成path="/copyPOI"则无法匹配带斜杠的路径; - query参数(如ID)不影响intent-filter匹配,无需额外配置。
4. 浏览器与系统环境排查
- 更换不同浏览器测试(如Chrome、系统自带浏览器),排除个别浏览器强制拦截链接的情况;
- 检查系统设置:进入「应用」->「默认应用」->「打开链接」,确认你的应用已被允许处理对应链接类型;
- 完全卸载重装应用,清除系统对旧配置的缓存,避免修改Manifest后未生效。
内容的提问来源于stack exchange,提问作者Cap
相关产品推荐
相关产品推荐

