其中 INTENT 的表示法,可以對照 android.content.Intent
的說明:
[-a <ACTION>]
[-c <CATEGORY>]...
[-n <COMPONENT>]
[-d <DATA_URL>]
[-t <MIME_TYPE>]
[<EXTRA_TYPE> <EXTRA_KEY> <EXTRA_VALUE>[,<EXTRA_VALUE>]...]...
[<URI> | <PACKAGE> | <COMPONENT>]
General action - setAction(String action) | |
Category - addCategory(String category) | |
Component name - setComponent(ComponentName) | |
Data - setData(Uri data) | |
MIME type - setType(String type) | |
Extra data - putExtra(String name, <TYPE> value)
EXTRA_TYPE 可以是:
-e, --es
--ez
--ei
--eia
--el
--ela
--ef
--efa
|
常見的用法
-
回到 home screen
-
am start -a android.intent.action.MAIN -c android.intent.category.HOME
開啟 app
-
am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER <PACKAGE>
模擬使用者按下套件 PACKAGE 在 home screen 的圖示,以 API Demos 為例:
$ am start -c android.intent.category.LAUNCHER -a android.intent.action.MAIN com.example.android.apis Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=com.example.android.apis }
不過早期版本並不支援
am start ... <PACKAGE>
的用法,只能明確指定 component:am start -n <MAIN_ACTIVITY>
例如:
$ shell am start -n com.example.android.apis/.ApiDemos Starting: Intent { cmp=com.example.android.apis/.ApiDemos }
-
参考资料:
-
- 打开本地视频文件:
-
-
am start -d "file:///storage/sdcard0/DCIM/Camera/20161122_184730.3gp" -t "video/3gp" -a android.intent.action.VIEW