在Android中,除了從介面上啟動程式之外,還可以從命令列啟動程式,使用的是命令列工具am.
啟動的方法為
wangwei@wwG41D3:~$ adb shell
$ su
# am start -n {包(package)名}/{包名}.{活動(activity)名稱}
程式的入口類可以從每個應用的AndroidManifest.xml的檔案中得到,以計算機(calculator)為例,它的
<manifest xmlns:android="http://schemas.android.com/apk/res/android" …
package="com.android.calculator2" …>…
由此計算機(calculator)的啟動方法為:# am start -n com.android.calculator2/com.android.calculator2.Calculator
對於HelloActivity這個樣本工程,AndroidManifest.xml如下所示:
<manifest …
package="com.example.android.helloactivity" …>
由此它的啟動方法為:
# am start -n com.example.android.helloactivity/com.example.android.helloactivity.HelloActivity
其他的一些應用啟動命令,如下所示:
calendar(日曆)的啟動方法為:
# am start -n com.android.calendar/com.android.calendar.LaunchActivity
AlarmClock(鬧鐘)的啟動方法為:
# am start -n com.android.alarmclock/com.android.alarmclock.AlarmClock
Music 和 Video(音樂和視頻)的啟動方法為:
# am start -n com.android.music/com.android.music.MusicBrowserActivity
# am start -n com.android.music/com.android.music.VideoBrowserActivity
# am start -n com.android.music/com.android.music.MediaPlaybackActivity
Camera(照相機)的啟動方法為:
# am start -n com.android.camera/com.android.camera.Camera
Browser(瀏覽器)的啟動方法為:
# am start -n com.android.browser/com.android.browser.BrowserActivity
一般情況希望,一個Android應用對應一個工程。值得注意的是,有一些工程具有多個活動(activity),而有一些應用使用一個工程。例如:在Android介面中,Music和Video是兩個應用,但是它們使用的都是packages/apps/Music這一個工程。而在這個工程的AndroidManifest.xml檔案中,有包含了不同的活動(activity)。
usage: am [subcommand] [options]
start an Activity: am start [-D] <INTENT>
-D: enable debugging
send a broadcast Intent: am broadcast <INTENT>
start an Instrumentation: am instrument [flags] <COMPONENT>
-r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT)
-e <NAME> <VALUE>: set argument <NAME> to <VALUE>
-p <FILE>: write profiling data to <FILE>
-w: wait for instrumentation to finish before returning
start profiling: am profile <PROCESS> start <FILE>
stop profiling: am profile <PROCESS> stop
<INTENT> specifications include these flags:
[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
[-c <CATEGORY> [-c <CATEGORY>] ...]
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
[-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
[-n <COMPONENT>] [-f <FLAGS>] [<URI>]
啟動的方法為
# am start -n 包(package)名/包名.活動(activity)名稱
啟動的方法可以從每個應用的AndroidManifest.xml的檔案中得到
Music 和 Video(音樂和視頻)的啟動方法為:
# am start -n com.android.music/com.android.music.MusicBrowserActivity
# am start -n com.android.music/com.android.music.VideoBrowserActivity
# am start -n com.android.music/com.android.music.MediaPlaybackActivity
Camera(照相機)的啟動方法為:
# am start -n com.android.camera/com.android.camera.Camera
Browser(瀏覽器)的啟動方法為:
# am start -n com.android.browser/com.android.browser.BrowserActivity
啟動瀏覽器 :
am start -a android.intent.action.VIEW -d http://www.google.cn/
撥打到電話 :
am start -a android.intent.action.CALL -d tel:10086
啟動 google map 直接定位到北京 :
am start -a android.intent.action.VIEW geo:0,0?q=beijing
url:http://greatverve.cnblogs.com/archive/2012/02/10/android-am.html