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


  Intent作為聯系各Activity之間的紐帶,其作用並不僅僅只限於簡單的數據傳遞。通過其自帶的屬性,其實可以方便的完成很多較為復雜的操作。例如直接調用撥號功能、直接自動調用合適的程序打開不同類型的文件等等。諸如此類,都可以通過設置Intent屬性來完成。

  Intent主要有以下四個重要屬性,它們分別為:

一、 Action:

    Action屬性的值為一個字符串,它代表了系統中已經定義了一系列常用的動作。通過setAction()方法或在清單文件AndroidManifest.xml中設置。

  默認為:DEFAULT。

  常用值如下所示:

     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) 

 

二、 Data:

    Data通常是URI格式定義的操作數據。例如:tel:// 。通過setData()方法設置。

    常用值如下所示:

      tel://:      號碼數據格式,后跟電話號碼。 

     mailto://:    郵件數據格式,后跟郵件收件人地址

     smsto://:    短息數據格式,后跟短信接收號碼

     content://:   內容數據格式,后跟需要讀取的內容。 

     file://:      文件數據格式,后跟文件路徑

     market://search?q=pname:pkgname:市場數據格式,在Google Market里搜索包名為pkgname的應用

     geo://latitude, longitude:經緯數據格式,在地圖上顯示經緯度所指定的位置

 

三、Category:

  Category屬性用於指定當前動作(Action)被執行的環境。通過addCategory()方法或在清單文件AndroidManifest.xml中設置。

  默認為:CATEGORY_DEFAULT。

    常用值如下所示:

    CATEGORY_DEFAULTAndroid系統中默認的執行方式,按照普通Activity的執行方式執行 

    CATEGORY_HOME:設置該組件為Home Activity

    CATEGORY_PREFERENCE:設置該組件為Preference 

    CATEGORY_LAUNCHER:設置該組件為在當前應用程序啟動器中優先級最高的Activity,通常為入口ACTION_MAIN配合使用 

    CATEGORY_BROWSABLE設置該組件可以使用瀏覽器啟動 

    CATEGORY_GADGET設置該組件可以內嵌到另外的Activity

 

四、Extras:

  Extras屬性主要用於傳遞目標組件所需要的額外的數據。通過putExtras()方法設置。

    常用值如下所示:

    EXTRA_BCC:存放郵件密送人地址的字符串數組。 

    EXTRA_CC:存放郵件抄送人地址的字符串數組

    EXTRA_EMAIL:存放郵件地址的字符串數組 

    EXTRA_SUBJECT:存放郵件主題字符串 

    EXTRA_TEXT存放郵件內容 

    EXTRA_KEY_EVENTKeyEvent對象方式存放觸發Intent的按鍵  

    EXTRA_PHONE_NUMBER存放調用ACTION_CALL時的電話號碼   

  

參考:

  1.  http://www.cnblogs.com/wisekingokok/archive/2011/08/22/2149847.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM