adb shell am start命令中-a、-n启动选项的含义是什么
am start 启动参数说明 你在adb官方工具文档里找不到-a、-n这类参数很正常:am是Android系统内置的Activity Manager命令行工具,属于adb shell调用的系统侧命令,参数说明不会收录在adb本身的工具文档页里。
-a 参数作用
-a 用于指定Intent的*Action(动作)*属性,用来声明你要触发的操作类别,比如系统预置的android.intent.action.VIEW(查看内容)、android.intent.action.SEND(分享内容)都属于Action值。
注意你给出的示例命令写法有误:-a 后只能传入Action字符串,不能直接跟包名/Activity类名格式的组件路径,这类组件值是-n参数的入参。-a的正确用法示例:
# 触发系统拨号盘打开动作 adb shell am start -a android.intent.action.DIAL
-n 参数作用
-n 用于指定Intent的*Component(组件)*属性,会明确告知系统要启动的具体应用组件,入参格式为应用包名/组件全限定类名,这种启动方式优先级最高,不会弹出应用选择弹窗。
你示例里的组件路径写法是适配-n参数的,修正后的正确命令为:
adb shell am start -n com.example.package/com.example.package.ActivityName
全量参数查询方式
不需要通过网页搜索am命令的参数,连接Android设备后直接执行以下命令,就能看到当前系统版本下am start支持的所有参数说明:
adb shell am start -h
日常使用中常见的其他am start参数还有:
-d:指定Intent携带的Data URI,比如网页地址、本地文件路径-t:指定Intent携带的MIME类型,比如text/plain、image/*-e/--es:向启动的组件传递字符串类型的键值对额外参数
内容的提问来源于stack exchange,提问作者jeranio
相关产品推荐
相关产品推荐

