You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android应用双入口配置问题:DeepLink无法启动Activity求助

解决DeepLink无法启动DetailsActivity的问题

我帮你排查了下,你的DeepLink启动失败主要有几个明确的错误,咱们逐个修正:

1. ADB命令的参数与拼写错误

你使用的adb命令存在三处关键问题:

  • Action不匹配:你指定的是android.intent.action.BROWSE,但Manifest里配置的是android.intent.action.VIEW,两者必须一致才能触发对应的Intent Filter
  • DeepLink地址拼写错误:Manifest里配置的host是gizmos,但命令里写成了gizmoz(最后一个字母s误写为z)
  • 包名错误:Manifest里的应用包名是com.example.edwardkeselman.siemens,但命令里用的是com.example.myname,包名必须和应用实际包名一致

修正后的正确adb命令:

adb shell am start -W -a android.intent.action.VIEW -d "example://gizmos" com.example.edwardkeselman.siemens

2. 确认Manifest配置的有效性

你的Manifest中DetailsActivity的Intent Filter配置是符合规范的,已经包含了:

  • 必要的VIEW Action
  • DEFAULT(允许通过隐式Intent启动)和BROWSABLE(允许从浏览器或其他应用跳转)Category
  • 正确的scheme和host规则

不过可以额外检查两点:

  • 确保DetailsActivity的类路径正确,如果它在子包下(比如com.example.edwardkeselman.siemens.ui.DetailsActivity),Manifest里要写全路径,而不是简写的.DetailsActivity
  • 测试前先卸载旧应用重新安装,避免系统缓存旧的Manifest配置导致不生效

3. 额外调试建议

如果修正命令后仍有问题,可以试试:

  • 执行adb shell dumpsys package com.example.edwardkeselman.siemens,查看应用注册的Intent Filter列表,确认example://gizmos是否正确关联到了DetailsActivity
  • 在DetailsActivity的onCreate方法中添加日志打印:
    Log.d("DeepLinkTest", "Received Intent Action: " + action + ", Data: " + data);
    
    启动后查看Logcat日志,验证Intent是否正常传递到Activity

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

火山引擎 最新活动