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

Jetpack Compose配置DeepLink异常:浏览器跳转仅显示谷歌搜索结果求助

DeepLink无法跳转至Android应用的解决方案

排查与修复步骤

  • 确认Intent-Filter的放置位置
    务必将<intent-filter>标签嵌套在目标Activity(如MainActivity)的<activity>标签内部,不能直接放在<application>标签下。错误的层级会导致系统无法识别应用对该DeepLink的处理权限。

  • 统一URI匹配规则
    你的Compose路由中指定的uriPattern为"myapp://home/profile",但Manifest里使用了pathPrefix="/profile"。pathPrefix会匹配所有以/profile开头的路径(如/profile/123),若需精确匹配/profile,建议将Manifest中的pathPrefix改为path="/profile":

    <data android:host="home"
          android:scheme="myapp"
          android:path="/profile"/>
    

    保证URI规则完全对齐,避免匹配偏差。

  • 用adb命令直接验证
    部分浏览器会拦截自定义Scheme的DeepLink,建议通过adb命令跳过浏览器直接测试:

    adb shell am start -a android.intent.action.VIEW -d "myapp://home/profile"
    

    若命令能唤起应用并跳转到ProfileScreen,说明DeepLink配置有效,问题出在浏览器触发逻辑;若仍无法跳转,再排查其他配置项。

  • 重置模拟器默认应用设置
    若浏览器已将该DeepLink的默认打开方式设为搜索引擎,需清除默认设置:

    1. 进入模拟器「设置」-「应用」- 找到你的应用
    2. 点击「默认打开方式」-「清除默认值」
      再次点击DeepLink时,选择你的应用并勾选「始终」即可。
  • 验证NavHost配置
    确保NavHost已正确初始化,且包含该composable路由。同时确认Screens.Auth.route的定义无错误,DeepLink关联的路由能被NavController正确识别导航。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 01:19:57