前言
之前简单整理过《adb命令启动service、Activity和发送Broadcast》,但使用adb启动Activity带参数的没有整理。因此这次想起,记录于此,方便自己查阅。
好记性不如烂笔头
正文
本文主要是整理一下常用的使用adb shell启动带参数的Activity。
不带参数启动Activity
adb shell am start com.125la.music/.MainActivity
或者
adb shell am start -n com.125la.music/.MainActivity
PS: 推荐使用 第二条命令,因为后续可以在其后面加参数。
带参数的启动Activity
adb shell am start -n com.125la.music/.MainActivity --ei type 1
PS:-n 不能少了哦,如果少了,默认忽略带的参数。
等同于Java代码:
Intent intent= new Intent();
intent.setComponent(new ComponentName("com.125la.music", "com.125la.music.MainActivity"));
intent.putExtra("type", 1);
startActivity(intent);
指定Action
adb shell am start -a android.intent.action.MAIN -n com.125la.music/.MainActivity --ei type 1
指定category
adb shell am start -c android.intent.category.LAUNCHER -n com.125la.music/.MainActivity --ei type 1
当然,同时指定action和category都可以
adb shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n com.125la.music/.MainActivity --ei type 1
对应命令的介绍
-a action;activity对应的action;
--es key stringValue; 传递 String 参数;
--ez key booleanValue; 传递 Boolean 参数;
--ei key intValue; 传递 int 参数;
--el key longValue; 传递 long 参数;
--ef key floatValue; 传递 float 参数;
参考文章
© 版权声明
那我怎么知道要跳转的这个activity所带的参数名呢
怎么说呢
上面的命令只适合知道的参数名等信息,使用次方式只是方便自己调试而已。比如开发中写接口给同事,自己肯定要先验证的。
至于跳转别人activity,如果没有说参数名等,是没法跳转咯。