1 Intent.ACTION_MAIN
String: android.intent.action.MAIN
標識Activity為一個程序的開始。比較常用。
Input:nothing
Output:nothing
<activity android:name=".Main" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
2 Intent.Action_CALL
Stirng: android.intent.action.CALL```
呼叫指定的電話號碼。
Input:電話號碼。數據格式為:tel:+phone number
Output:Nothing
Intent intent=new Intent();
intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:1320010001");startActivity(intent);```
3 Intent.Action.DIAL
String: action.intent.action.DIAL```
調用撥號面板
Intent intent=new Intent();
intent.setAction(Intent.ACTION_DIAL); //android.intent.action.DIALintent.setData(Uri.parse("tel:1320010001");startActivity(intent); ```
Input:電話號碼。數據格式為:tel:+phone number
Output:Nothing
說明:打開Android的撥號UI。如果沒有設置數據,則打開一個空的UI,如果設置數據,action.DIAL則通過調用getData()獲取電話號碼。
但設置電話號碼的數據格式為 tel:+phone number.
4 Intent.Action.ALL_APPS
String: andriod.intent.action.ALL_APPS```
列出所有的應用。
Input:Nothing.
Output:Nothing.
#**5 Intent.ACTION_ANSWER**
Stirng:android.intent.action.ANSWER```
處理呼入的電話。
Input:Nothing.
Output:Nothing.
6 Intent.ACTION_ATTACH_DATA
String: android.action.ATTCH_DATA```
別用于指定一些數據應該附屬于一些其他的地方,例如,圖片數據應該附屬于聯系人
Input: Data
Output:nothing
#**7 Intent.ACTION_BUG_REPORT**
String: android.intent.action.BUG_REPORT```
顯示Dug報告。
Input:nothing
output:nothing
8 Intent.Action_CALL_BUTTON
String: android.action.intent.CALL_BUTTON.```
相當于用戶按下“撥號”鍵。經測試顯示的是“通話記錄”
Input:nothing
Output:nothing
Intent intent = new Intent(Intent.ACTION_CALL_BUTTON);
startActivity(intent);
#**9 Intent.ACTION_CHOOSER**
String: android.intent.action.CHOOSER```
顯示一個activity選擇器,允許用戶在進程之前選擇他們想要的,與之對應的是Intent.ACTION_GET_CONTENT.
10. Intent.ACTION_GET_CONTENT
String: android.intent.action.GET_CONTENT```
允許用戶選擇特殊種類的數據,并返回(特殊種類的數據:照一張相片或錄一段音)
Input: Type
Output:URI
int requestCode = 1001;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); // "android.intent.action.GET_CONTENT"intent.setType("image/"); // 查看類型,如果是其他類型,比如視頻則替換成 video/,或 /Intent wrapperIntent = Intent.createChooser(intent, null);
startActivityForResult(wrapperIntent, requestCode);
#**11 Intent.ACTION_VIEW**
String android.intent.action.VIEW```
用于顯示用戶的數據。
比較通用,會根據用戶的數據類型打開相應的Activity。
比如 tel:13400010001打開撥號程序,http://www.g.cn則會打開瀏覽器等。
Uri uri = Uri.parse("http://www.google.com"); //瀏覽器
Uri uri =Uri.parse("tel:1232333"); //撥號程序
Uri uri=Uri.parse("geo:39.899533,116.036476"); //打開地圖定位
Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it);
//播放視頻 Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file:///sdcard/media.mp4");
intent.setDataAndType(uri, "video/*");
startActivity(intent);
//調用發送短信的程序
Intent it = new Intent(Intent.ACTION_VIEW);
it.putExtra("sms_body", "信息內容...");
it.setType("vnd.android-dir/mms-sms");
startActivity(it);
**12 Intent.ACTION_SENDTO **
String: android.intent.action.SENDTO```
說明:發送短信息
//發送短信息
Uri uri = Uri.parse("smsto:13200100001");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "信息內容...");
startActivity(it);
//發送彩信,設備會提示選擇合適的程序發送
Uri uri = Uri.parse("content://media/external/images/media/23"); //設備中的資源(圖像或其他資源)
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra("sms_body", "內容");
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setType("image/png");
startActivity(it);
//Email
Intent intent=new Intent(Intent.ACTION_SEND);
String[] tos={"android1@163.com"};
String[] ccs={"you@yahoo.com"};
intent.putExtra(Intent.EXTRA_EMAIL, tos);
intent.putExtra(Intent.EXTRA_CC, ccs);
intent.putExtra(Intent.EXTRA_TEXT, "The email body text");
intent.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
intent.setType("message/rfc822");
startActivity(Intent.createChooser(intent, "Choose Email Client"));
#**13 Intent.ACTION_GET_CONTENT**
//選擇圖片 requestCode 返回的標識
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); //"android.intent.action.GET_CONTENT"intent.setType(contentType);
//查看類型
String IMAGE_UNSPECIFIED = "image/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);
//添加音頻
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(contentType); //String VIDEO_UNSPECIFIED = "video/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);
//拍攝視頻
int durationLimit = getVideoCaptureDurationLimit(); //SystemProperties.getInt("ro.media.enc.lprof.duration", 60);
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, sizeLimit);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, durationLimit);
startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);
//視頻
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(contentType); //String VIDEO_UNSPECIFIED = "video/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);
//錄音
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(ContentType.AUDIO_AMR); //String AUDIO_AMR = "audio/amr";
intent.setClassName("com.android.soundrecorder", "com.android.soundrecorder.SoundRecorder");
((Activity) context).startActivityForResult(intent, requestCode);
//拍照 REQUEST_CODE_TAKE_PICTURE 為返回的標識
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //"android.media.action.IMAGE_CAPTURE";
intent.putExtra(MediaStore.EXTRA_OUTPUT, Mms.ScrapSpace.CONTENT_URI); // output,Uri.parse("content://mms/scrapSpace");
startActivityForResult(intent, REQUEST_CODE_TAKE_PICTURE);
---
#Action大全
|類型|Action|動作含義|
|---|---|-------|
|String|"android.intent.action.ADD_SHORTCUT"|動作:在系統中添加一個快捷方式。.|
|String|"android.intent.action.ALL_APPS"|動作:列舉所有可用的應用。|
|String|"android.intent.action.ANSWER"|動作:處理撥入的電話。|
|String|"android.intent.action.BUG_REPORT"|動作:顯示 activity 報告錯誤。|
|String|"android.intent.action.CALL"|動作:撥打電話,被呼叫的聯系人在數據中指定。|
|String|"android.intent.action.CLEAR_CREDENTIALS"|動作:清除登陸憑證 (credential)。|
|String|"android.intent.action.VIEW"|動作:和 VIEW_ACTION 相同,是在數據上執行的標準動作。|
|String|"android.intent.action.DELETE"|動作:從容器中刪除給定的數據。|
|String|"android.intent.action.DIAL"|動作:撥打數據中指定的電話號碼。|
|String|"android.intent.action.EDIT"|動作:為制定的數據顯示可編輯界面。|
|String|"android.intent.action.EMERGENCY_DIAL"|動作:撥打緊急電話號碼。|
|String|"android.intent.action.LOGIN"|動作:獲取登錄憑證。|
|String|"android.intent.action.MAIN"|動作:作為主入口點啟動,不需要數據。|
|String|"android.intent.action.PICK"|動作:從數據中選擇一個項目item,將被選中的項目返回。|
|String|"android.intent.action.PICK_ACTIVITY"|動作:選擇一個activity,返回被選擇的activity的類名|
|String|"android.intent.action.RUN"|動作:運行數據(指定的應用),無論它(應用)是什么。|
|String|"android.intent.action.SENDTO"|動作:向 data 指定的接收者發送一個消息。|
|String|"android.intent.action.GET_CONTENT"|動作:讓用戶選擇數據并返回。|
|String|"android.intent.action.INSERT"|動作:在容器中插入一個空項 (item)。|
|String|"android.intent.action.SETTINGS"|動作:顯示系統設置。輸入:無。|
|String|"android.intent.action.VIEW"|動作:向用戶顯示數據。|
|String|"android.intent.action.WALLPAPER_SETTINGS"|動作:顯示選擇墻紙的設置界面。輸入:無。|
|String|"android.intent.action.WEB_SEARCH"|動作:執行 web 搜索。|
|String|"android.intent.action.SYNC"|動作:執行數據同步。|
|String|"android.intent.action.SERVICE_STATE"|廣播:電話服務的狀態已經改變。|
|String|"android.intent.action.TIMEZONE_CHANGED"|廣播:時區已經改變。|
|String|"android.intent.action.TIME_SET"|廣播:時間已經改變(重新設置)。|
|String|"android.intent.action.TIME_TICK"|廣播:當前時間已經變化(正常的時間流逝)。|
|String|"android.intent.action.UMS_CONNECTED"|廣播:設備進入 USB 大容量存儲模式。|
|String|"android.intent.action.UMS_DISCONNECTED"|廣播:設備從 USB 大容量存儲模式退出。|
|String|"android.intent.action.WALLPAPER_CHANGED"|廣播:系統的墻紙已經改變。|
|String|"android.intent.action.XMPP_CONNECTED"|廣播:XMPP 連接已經被建立。|
|String|"android.intent.action.XMPP_DI|廣播:XMPP 連接已經被斷開。|
|String|"android.intent.action.SIG_STR"|廣播:電話的信號強度已經改變。|
|String|"android.intent.action.BATTERY_CHANGED"|廣播:充電狀態,或者電池的電量發生變化。|
|String|"android.intent.action.BOOT_COMPLETED"|廣播:在系統啟動后,這個動作被廣播一次(只有一次)|
|String|"android.intent.action.DATA_ACTIVITY"|廣播:電話的數據活動(data activity)狀態已經改變|
|String|"android.intent.action.DATA_STATE"|廣播:電話的數據連接狀態已經改變。|
|String|"android.intent.action.DATE_CHANGED"|廣播:日期被改變。|
|String|"android.server.checkin.FOTA_CANCEL"|廣播:取消所有被掛起的 (pending) 更新下載。|
|String|"android.server.checkin.FOTA_INSTALL"|廣播:更新已經被確認,馬上就要開始安裝。|
|String|"android.server.checkin.FOTA_READY"|廣播:更新已經被下載,可以開始安裝。|
|String|"android.server.checkin.FOTA_RESTART"|廣播:恢復已經停止的更新下載。|
|String|"android.server.checkin.FOTA_UPDATE"|[廣播:通過 OTA 下載并安裝操作系統更新。](http://lib.csdn.net/base/operatingsystem)|
|String|"android.intent.action.MEDIABUTTON"|廣播:用戶按下了“Media Button”。|
|String|"android.intent.action.MEDIA_BAD_REMOVAL"|廣播:擴展卡從SD卡插槽拔出,但是掛載點還沒unmount。|
|String|"android.intent.action.MEDIA_EJECT"|廣播:用戶想要移除擴展介質(拔掉擴展卡)。|
|String|"android.intent.action.MEDIA_MOUNTED"|廣播:擴展介質被插入,而且已經被掛載。|
|String|"android.intent.action.MEDIA_REMOVED"|廣播:擴展介質被移除。|
|String|"android.intent.action.MEDIA_SCANNER_FINISHED"|廣播:已經掃描完介質的一個目錄。|
|String|"android.intent.action.MEDIA_SCANNER_STARTED"|廣播:開始掃描介質的一個目錄。|
|String|"android.intent.action.MEDIA_SHARED"|廣播:擴展介質的掛載被解除 (unmount)|
|String|"android.intent.action.MEDIA_UNMOUNTED"|廣播:擴展介質存在,但是還沒有被掛載 (mount)。|
|String|"android.intent.action.MWI"|廣播:電話的消息等待(語音郵件)狀態已經改變。|
|String|"android.intent.action.PACKAGE_ADDED"|廣播:設備上新安裝了一個應用程序包。|
|String|"android.intent.action.PACKAGE_REMOVED"|廣播:設備上刪除了一個應用程序包。|
|String|"android.intent.action.PHONE_STATE"|廣播:電話狀態已經改變。|
|String|"android.intent.action.PROVIDER_CHANGED"|廣播:更新將要(真正)被安裝。|
|String|"android.intent.action.PROVISIONING_CHECK"|廣播:要求provisioning service下載最新的設置|
|String|"android.intent.action.SCREEN_OFF"|廣播:屏幕被關閉。|
|String|"android.intent.action.SCREEN_ON"|廣播:屏幕已經被打開。|
|String|"android.intent.action.NETWORK_TICKLE_RECEIVED"|廣播:設備收到了新的網絡 "tickle" 通知。|
|String|"android.intent.action.STATISTICS_REPORT"|廣播:要求 receivers 報告自己的統計信息。|
|String|"android.intent.action.STATISTICS_STATE_CHANGED"|廣播:統計信息服務的狀態已經改變。|
|String|"android.intent.action.CFF"|廣播:語音電話的呼叫轉移狀態已經改變。|
|String|"android.intent.action.CONFIGURATION_CHANGED"|廣播:設備的配置信息已經改變,參見 Resources.Configuration|
|String|"android.intent.category.ALTERNATIVE"|類別:說明activity是用戶正在瀏的數據的一個可選操作。|
|String|"android.intent.category.WALLPAPER"|類別:這個 activity 能過為設備設置墻紙。|
|String|"android.intent.category.UNIT_TEST"|[類別:應該被用作單元測試(通過 test harness 運行)。](http://lib.csdn.net/base/softwaretest)|
|String|"android.intent.category.TEST"|類別:作為測試目的使用,不是正常的用戶體驗的一部分。|
|String|"android.intent.category.TAB"|類別:activity應該在TabActivity中作為一個tab使用|
|String|"android.intent.category.SAMPLE_CODE"|類別:To be used as an sample code example (not part of the normal user experience).|
|String|"android.intent.category.PREFERENCE"|類別:activity是一個設置面板 (preference panel)。|
|String|"android.intent.category.HOME"|類別:主屏幕 (activity),設備啟動后顯示的第一個 activity。|
|String|"android.intent.category.BROWSABLE"|類別:能夠被瀏覽器安全使用的 activities 必須支持這個類別。|
|String|"android.intent.category.DEFAULT"|類別:如果 activity 是對數據執行確省動作(點擊, center press)的一個選項,需要設置這個類別。|
|String|"android.intent.category.DEVELOPMENT_PREFERENCE"|類別:說明 activity 是一個設置面板 (development preference panel).|
|String|"android.intent.category.EMBED"|類別:能夠在上級(父)activity 中運行。|
|String|"android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST"|類別:To be used as code under test for framework instrumentation tests.|
|String|"android.intent.category.GADGET"|類別:這個 activity 可以被嵌入宿主 activity (activity that is hosting gadgets)。|
|String|"android.intent.category.LAUNCHER"|類別:Activity 應該被顯示在頂級的 launcher 中。|
|String|"android.intent.category.SELECTED_ALTERNATIVE"|類別:對于被用戶選中的數據,activity 是它的一個可選操作。|
|int|8 0x00000008|啟動標記:和 NEW_TASK_LAUNCH 聯合使用,禁止將已有的任務改變為前景任務 (foreground)。|
|int|4 0x00000004|啟動標記:設置以后,activity 將成為歷史堆棧中的第一個新任務(棧頂)。|
|int|1 0x00000001|啟動標記:設置以后,新的 activity 不會被保存在歷史堆棧中。|
|int|2 0x00000002|啟動標記:設置以后,如果 activity 已經啟動,而且位于歷史堆棧的頂端,將不再啟動(不重新啟動) activity。|
|int|16 0x00000010|啟動標記:如果這個標記被設置,而且被一個已經存在的 activity 用來啟動新的 activity,已有 activity 的回復目標 (reply target) 會被轉移給新的 activity。|
|String|"android.intent.extra.INTENT"|附加數據:和 PICK_ACTIVITY_ACTION 一起使用時,說明用戶選擇的用來顯示的 activity;和 ADD_SHORTCUT_ACTION 一起使用的時候,描述要添加的快捷方式。|
|String|"android.intent.extra.LABEL"|附加數據:大寫字母開頭的字符標簽,和 ADD_SHORTCUT_ACTION 一起使用。|
|String|"android.intent.extra.TEMPLATE"|附加數據:新記錄的初始化模板。|
|Creator|無|無|
參考
[Android Intent Action 大全](http://blog.csdn.net/ithomer/article/details/8242471)