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

如何通过ADB强制启动Android应用选择器打开指定URI?

如何通过ADB强制唤起应用选择器打开URI

常规ADB打开URI的行为

运行以下命令时,系统会优先使用对应URI的默认应用打开链接;如果没有设置默认应用,才会 fallback 到应用选择器:

adb shell am start -a android.intent.action.VIEW -d "https://example.com"

这段命令等价于以下Kotlin代码的逻辑:

val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://example.com"))
startActivity(intent)

需求说明

需要实现的是强制唤起应用选择器打开指定URI,无论当前是否设置了默认应用,对应以下两段Kotlin代码的效果:

val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://example.com"))
val chooser = Intent.createChooser(intent, null)
startActivity(chooser)

或者:

val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://example.com"))
val chooser = Intent(Intent.ACTION_CHOOSER)
chooser.putExtra(Intent.EXTRA_INTENT, intent)
startActivity(chooser)

对应的ADB命令

可以通过直接启动android.intent.action.CHOOSER意图,并传入目标VIEW意图作为额外参数,实现强制唤起选择器的效果:

adb shell am start -a android.intent.action.CHOOSER \
  --es android.intent.extra.INTENT "android.intent.action.VIEW;data=https://example.com"

如果需要给选择器设置标题(对应Intent.createChooser的第二个参数),可以额外添加标题参数:

adb shell am start -a android.intent.action.CHOOSER \
  --es android.intent.extra.INTENT "android.intent.action.VIEW;data=https://example.com" \
  --es android.intent.extra.TITLE "选择打开方式"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 22:23:23