Android 通过命令行启动Activity
原文地址:https://blog.csdn.net/u010784887/article/details/51598719
https://blog.csdn.net/u012968101/article/details/51089442
https://www.cnblogs.com/tianzijiaozi/p/8081901.html
启动Activity:
1.在清单文件manifreast.xml中,找到对应的activity添加 android:exported="true"属性
2.adb shell am start -n packageName/.ActivityName就可以启动任意的activity
PS:
android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。
总体来说它的主要作用是:是否支持其它应用调用当前组件。
默认值:如果包含有intent-filter 默认值为true; 没有intent-filter默认值为false。
通过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
--sampling INTERVAL: use sample profiling with INTERVAL microseconds between samples (use with --start-profiler)
-P
-R: repeat the activity launch
-S: force stop the target app before starting the activity
--opengl-trace: enable tracing of OpenGL functions
--user
am startservice: start a Service. Options are:
--user
am stopservice: stop a Service. Options are:
--user
am force-stop: force stop everything associated with
--user
am kill: Kill all processes associated with
processes that are safe to kill -- that is, will not impact the user experience.
--user
am kill-all: Kill all background processes.
am broadcast: send a broadcast Intent. Options are:
--user
--receiver-permission
1. 启动一个指定的组件
命令: am start -n
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开发:View中android:fadingEdge属性的作用
- android 删除sdcard中文件命令
- Android Studio 打包 jar 的命令
- android keytool 不是内部或外部命令
- adb命令(不断补充)
- Android启动系统自带的程序组件