2015年9月20日 星期日

[轉] Intent中的四個重要屬性——Action、Data、Category、Extras

Intent中的四個重要屬性——Action、Data、Category、Extras

  Intent作為聯繫各Activity之間的紐帶,其作用並不僅僅只限於簡單的數據傳遞。通過其自帶的屬性,其實可以方便的完成很多較為複雜的操作。例如直接調用撥號功能、直接自動調用合適的程序打開不同類型的文件等等。諸如此類,都可以通過設置Intent屬性來完成。
  Intent主要有以下四個重要屬性,它們分別為:
    Action:Action屬性的值為一個字符串,它代表了系統中已經定義了一系列常用的動作。通過setAction()方法或在清單文件AndroidManifest.xml中設置。默認為:DEFAULT。
    Data:Data通常是URI格式定義的操作數據。例如:tel:// 。通過setData()方法設置。
    Category:Category屬性用於指定當前動作(Action)被執行的環境。通過addCategory()方法或在清單文件AndroidManifest.xml中設置。默認為:CATEGORY_DEFAULT。
    Extras:Extras屬性主要用於傳遞目標組件所需要的額外的數據。通過putExtras()方法設置。
  四個屬性各自的常用值如下所示:
  Action:
      ACTION_MAIN:Android Application的入口,每個Android應用必須且只能包含一個此類型的Action聲明。 
    ACTION_VIEW:系統根據不同的Data類型,通過已註冊的對應Application顯示數據。
    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_CHANGEDAndroid系統的時間發生改變後發出帶有此Action的廣播(Broadcast) 
    ACTION_PACKAGE_ADDEDAndroid系統安裝了新的Application之後發出帶有此Action的廣播(Broadcast) 
    ACTION_PACKAGE_CHANGEDAndroid系統中已存在的Application發生改變之後(如應用更新操作)發出帶有此Action的廣播(Broadcast) 
    ACTION_PACKAGE_REMOVED:卸載了Android系統已存在的Application之後發出帶有此Action的廣播(Broadcast)  
  Category:
      CATEGORY_DEFAULTAndroid系統中默認的執行方式,按照普通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_EVENTKeyEvent對象方式存放觸發Intent的按鍵  
    EXTRA_PHONE_NUMBER存放調用ACTION_CALL時的電話號碼   
   Data:
      tel://:號碼數據格式,後跟電話號碼。 
    mailto://:郵件數據格式,後跟郵件收件人地址
    smsto://:短息數據格式,後跟短信接收號碼
    content://:內容數據格式,後跟需要讀取的內容。 
    file://:文件數據格式,後跟文件路徑
    market://search?q=pname:pkgname:市場數據格式,在Google Market裡搜索包名為pkgname的應用
    geo://latitude, longitude:經緯數據格式,在地圖上顯示經緯度所指定的位置

沒有留言:

張貼留言