Android 通过命令行启动 Activity

通过am命令可以启动任何一个activity,如果启动Main Activity就等于是启动了相应的apk

am 命令代码位置:frameworks\base\cmds\am\src\com\android\commands\am

使用 am -help 可以查看该命令详细的用法,以下是截取的部分常用用法:

     am start: start an Activity.  Options are:
    -D: enable debugging
    -W: wait for launch to complete
    --start-profiler <FILE>: start profiler and send results to <FILE>
    --sampling INTERVAL: use sample profiling with INTERVAL microseconds  between samples (use with --start-profiler)
    -P <FILE>: like above, but profiling stops when app goes idle
    -R: repeat the activity launch <COUNT> times.  Prior to each repeat, the top activity will be finished.
    -S: force stop the target app before starting the activity
    --opengl-trace: enable tracing of OpenGL functions
    --user <USER_ID> | current: Specify which user to run as; if not specified then run as the current user.

     am startservice: start a Service.  Options are:
            --user <USER_ID> | current: Specify which user to run as; if not  specified then run as the current user.

     am stopservice: stop a Service.  Options are:
            --user <USER_ID> | current: Specify which user to run as; if not specified then run as the current user.

     am force-stop: force stop everything associated with <PACKAGE>.
            --user <USER_ID> | all | current: Specify user to force stop;  all users if not specified.

     am kill: Kill all processes associated with <PACKAGE>.  Only kills.
           processes that are safe to kill -- that is, will not impact the user experience.
           --user <USER_ID> | all | current: Specify user whose processes to kill; all users if not specified.

     am kill-all: Kill all background processes.

     am broadcast: send a broadcast Intent.  Options are:
           --user <USER_ID> | all | current: Specify which user to send to; if not specified then send to all users.
           --receiver-permission <PERMISSION>: Require receiver to hold permission.

1. 启动一个指定的组件

****命令: **am start -n <COMPONENT> **

adb shell am start -n 包名 / 包含包名的Activity 或者service

Camera(照相机)的启动:

adb shell am start -n com.android.camera/com.android.camera.Camera

Browser(浏览器)的启动:

adb shell am start -n com.android.browser/com.android.browser.BrowserActivity

2. 使用Action隐式的启动

按照指定的地址启动浏览器:

adb shell am start -a android.intent.action.VIEW -d  http://www.baidu.cn/

拨打电话 :

adb shell am start -a android.intent.action.CALL -d tel:10086

3. 启动一个服务service

am startservice -n com.android.music/com.android.music.MediaService

4. 发送一个广播

am broadcast -a
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文旨在从Android系统源码出发,简单梳理Instrumentation框架的行为及逻辑结构,供有兴趣的同学一...
    OliverGao阅读 14,450评论 1 16
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,947评论 0 5
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-androi...
    eddy_wiki阅读 8,526评论 0 20
  • 一个遭受到女友抛弃的青年来找我,说到他为女朋友还活得好好的,感到忿恨难平。 我问他为什么。 他说:“我们在一...
    Wyeye阅读 2,880评论 0 0
  • 这两天下着小雨,天气是很凉爽的,嗯 这样挺不错的啊,屋里不热了,还刮着小凉风。没下雨之前呢,路边的花草树木,被一层...
    云少nn阅读 1,131评论 0 0