前言

之前简单整理过《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 actionactivity对应的action
--es key stringValue; 传递 String 参数;
--ez key booleanValue; 传递 Boolean 参数;
--ei key intValue; 传递 int 参数;
--el key longValue; 传递 long 参数;
--ef key floatValue; 传递 float 参数;

参考文章

  1. adb shell 命令行启动带参数的应用
  2. adb命令启动service、Activity和发送Broadcast

相关文章

暂无评论

  • 得到
    得到游客

    那我怎么知道要跳转的这个activity所带的参数名呢

    上海
    回复
    • 笔友城堡
      笔友城堡 管理员

      怎么说呢
      上面的命令只适合知道的参数名等信息,使用次方式只是方便自己调试而已。比如开发中写接口给同事,自己肯定要先验证的。
      至于跳转别人activity,如果没有说参数名等,是没法跳转咯。

      广东深圳市@ 得到
      回复