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

Android App无法通过DeepLink启动问题排查

问题排查与解决

以下是可能遗漏的配置或需要调整的操作:

  • Intent Filter缺少必要的Category
    你的Intent Filter必须同时包含android.intent.category.DEFAULT和android.intent.category.BROWSABLE两个category。DEFAULT确保App能被隐式Intent唤起,BROWSABLE允许浏览器或其他应用通过链接启动你的App。正确的Intent Filter示例:

    <activity
        android:name=".YourTargetActivity"
        android:exported="true"> <!-- Android 12+必须设置该属性为true -->
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data
                android:scheme="http"
                android:host="www.example.com"
                android:pathPrefix="/gizmos" />
        </intent-filter>
    </activity>
    

    注意:Android 12及以上版本,目标Activity必须显式设置android:exported="true",否则无法被外部Intent唤起。

  • Chrome被设为该链接的默认处理应用
    若之前手动选择过用Chrome打开此类链接,系统会将Chrome设为默认应用。可以通过以下步骤清除默认设置:

    1. 打开设备设置 → 应用 → 找到Chrome → 进入“默认应用设置”
    2. 找到“打开链接”选项,点击清除默认值
      之后再执行adb命令,系统会弹出应用选择器,你可以选择自己的App。
  • 强制测试App响应(可选)
    如果你想直接验证App是否能处理该链接,可以在adb命令中指定你的App包名,跳过系统默认应用选择:

    adb shell am start -W -a android.intent.action.VIEW -d "http://www.example.com/gizmos" com.your.package.name
    

    如果这条命令能成功唤起你的App,说明Intent Filter配置基本正确,问题出在系统默认应用的设置上。

  • 跳过选择器直接唤起App(进阶配置)
    若希望系统直接唤起你的App而不弹出选择器,需要完成两步:

    1. 在Intent Filter中添加android:autoVerify="true"
    2. 在域名根目录(https://www.example.com/.well-known/assetlinks.json)放置assetlinks.json文件,验证App与域名的关联关系。测试阶段可先忽略此步骤,确保能在选择器中唤起App后再配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 05:58:16