Intent做爲聯繫各Activity之間的紐帶,其做用並不單單隻限於簡單的數據傳遞。經過其自帶的屬性,其實能夠方便的完成不少較爲複雜的操做。例如直接調用撥號功能、直接自動調用合適的程序打開不一樣類型的文件等等。諸如此類,均可以經過設置Intent屬性來完成。git
Intent主要有如下四個重要屬性,它們分別爲:數組
Action:Action屬性的值爲一個字符串,它表明了系統中已經定義了一系列經常使用的動做。經過setAction()方法或在清單文件AndroidManifest.xml中設置。默認爲:DEFAULT。瀏覽器
Data:Data一般是URI格式定義的操做數據。例如:tel:// 。經過setData()方法設置。xml
Category:Category屬性用於指定當前動做(Action)被執行的環境。經過addCategory()方法或在清單文件AndroidManifest.xml中設置。默認爲:CATEGORY_DEFAULT。對象
Extras:Extras屬性主要用於傳遞目標組件所須要的額外的數據。經過putExtras()方法設置。字符串
四個屬性各自的經常使用值以下所示:it
Action:io
ACTION_MAIN:Android Application的入口,每一個Android應用必須且只能包含一個此類型的Action聲明。 ast
ACTION_VIEW:系統根據不一樣的Data類型,經過已註冊的對應Application顯示數據。file
ACTION_EDIT:系統根據不一樣的Data類型,經過已註冊的對應Application編輯示數據。
ACTION_DIAL:打開系統默認的撥號程序,若是Data中設置了電話號碼,則自動在撥號程序中輸入此號碼。
ACTION_CALL:直接呼叫Data中所帶的號碼。
ACTION_ANSWER:接聽來電。
ACTION_SEND:由用戶指定發送方式進行數據發送操做。
ACTION_SENDTO:系統根據不一樣的Data類型,經過已註冊的對應Application進行數據發送操做。
ACTION_BOOT_COMPLETED:Android系統在啓動完畢後發出帶有此Action的廣播(Broadcast)。
ACTION_TIME_CHANGED:Android系統的時間發生改變後發出帶有此Action的廣播(Broadcast)。
ACTION_PACKAGE_ADDED:Android系統安裝了新的Application以後發出帶有此Action的廣播(Broadcast)。
ACTION_PACKAGE_CHANGED:Android系統中已存在的Application發生改變以後(如應用更新操做)發出帶有此Action的廣播(Broadcast)。
ACTION_PACKAGE_REMOVED:卸載了Android系統已存在的Application以後發出帶有此Action的廣播(Broadcast)。
Category:
CATEGORY_DEFAULT:Android系統中默認的執行方式,按照普通Activity的執行方式執行。
CATEGORY_HOME:設置該組件爲Home Activity。
CATEGORY_PREFERENCE:設置該組件爲Preference。
CATEGORY_LAUNCHER:設置該組件爲在當前應用程序啓動器中優先級最高的Activity,一般爲入口ACTION_MAIN配合使用。
CATEGORY_BROWSABLE:設置該組件可使用瀏覽器啓動。
CATEGORY_GADGET:設置該組件能夠內嵌到另外的Activity中。
Extras:
EXTRA_BCC:存放郵件密送人地址的字符串數組。
EXTRA_CC:存放郵件抄送人地址的字符串數組。
EXTRA_EMAIL:存放郵件地址的字符串數組。
EXTRA_SUBJECT:存放郵件主題字符串。
EXTRA_TEXT:存放郵件內容。
EXTRA_KEY_EVENT:以KeyEvent對象方式存放觸發Intent的按鍵。
EXTRA_PHONE_NUMBER:存放調用ACTION_CALL時的電話號碼。
Data:
tel://:號碼數據格式,後跟電話號碼。
mailto://:郵件數據格式,後跟郵件收件人地址。
smsto://:短息數據格式,後跟短信接收號碼。
content://:內容數據格式,後跟須要讀取的內容。
file://:文件數據格式,後跟文件路徑。
market://search?q=pname:pkgname:市場數據格式,在Google Market裏搜索包名爲pkgname的應用。
geo://latitude, longitude:經緯數據格式,在地圖上顯示經緯度所指定的位置。