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

Android技术求助:无法通过应用打开二维码链接

问题分析与解决方案

核心原因

1. Intent Filter的Host属性格式非法

你Manifest中android:host属性值里的/* correct link here, I double checked it */是错误写法——AndroidManifest.xml的属性值不支持/* */这类注释格式,这会导致整个host值被系统判定为无效,进而让对应的<intent-filter>无法被正确识别。

Pixel 6搭载的Android 12+系统对这类无效属性值有容错处理,会尝试忽略错误部分匹配;而Pixel 4的系统版本(多为Android 11及以下)对intent-filter校验更严格,直接判定该filter无效,因此系统找不到能处理对应链接的Activity,抛出ActivityNotFoundException。

2. 系统版本的Intent匹配逻辑差异

Android 12及后续版本优化了intent-filter的解析逻辑,对部分格式不规范的属性有兼容处理;但旧版本系统(如Pixel 4的Android 11)严格遵循XML语法规则,属性值中的非法内容会直接导致整个filter失效,这是问题仅出现在Pixel 4上的关键原因。

修复步骤

  1. 修正Manifest中的Host属性:
    完全删除android:host属性值里的注释内容,替换为实际的合法域名,例如:

    <data android:host="your-actual-domain.com" />
    

    确保属性值仅包含正确域名,无任何注释或多余字符。

  2. 清理并重新编译项目:
    执行项目清理缓存操作(如Android Studio中的Build > Clean Project),然后重新编译安装到Pixel 4设备上测试。

  3. 手动验证Intent匹配:
    使用ADB命令直接触发目标Intent,确认修复效果:

    adb shell am start -a android.intent.action.VIEW -d "https://your-actual-domain.com/your-path"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 14:07:30