Intent中的四个重要属性——Action、Data、Category、Extras
Intent中的四個重要屬性——Action、Data、Category、Extras
?
支持原文:點擊鏈接進入原文閱讀-->http://www.cnblogs.com/wisekingokok/archive/2011/08/22/2149847.html
Intent作為聯(lián)系各Activity之間的紐帶,其作用并不僅僅只限于簡單的數(shù)據(jù)傳遞。通過其自帶的屬性,其實可以方便的完成很多較為復(fù)雜的操作。例如直接調(diào)用撥號功能、直接自動調(diào)用合適的程序打開不同類型的文件等等。諸如此類,都可以通過設(shè)置Intent屬性來完成。
Intent主要有以下四個重要屬性,它們分別為:
Action:Action屬性的值為一個字符串,它代表了系統(tǒng)中已經(jīng)定義了一系列常用的動作。通過setAction()方法或在清單文件AndroidManifest.xml中設(shè)置。默認為:DEFAULT。
Data:Data通常是URI格式定義的操作數(shù)據(jù)。例如:tel:// 。通過setData()方法設(shè)置。
Category:Category屬性用于指定當前動作(Action)被執(zhí)行的環(huán)境。通過addCategory()方法或在清單文件AndroidManifest.xml中設(shè)置。默認為:CATEGORY_DEFAULT。
Extras:Extras屬性主要用于傳遞目標組件所需要的額外的數(shù)據(jù)。通過putExtras()方法設(shè)置。
四個屬性各自的常用值如下所示:
Action:
?? ACTION_MAIN:Android Application的入口,每個Android應(yīng)用必須且只能包含一個此類型的Action聲明?!?/p>
ACTION_VIEW:系統(tǒng)根據(jù)不同的Data類型,通過已注冊的對應(yīng)Application顯示數(shù)據(jù)。
ACTION_EDIT:系統(tǒng)根據(jù)不同的Data類型,通過已注冊的對應(yīng)Application編輯示數(shù)據(jù)?!?/p>
ACTION_DIAL:打開系統(tǒng)默認的撥號程序,如果Data中設(shè)置了電話號碼,則自動在撥號程序中輸入此號碼?!?/p>
ACTION_CALL:直接呼叫Data中所帶的號碼?!?/p>
ACTION_ANSWER:接聽來電?!?/p>
ACTION_SEND:由用戶指定發(fā)送方式進行數(shù)據(jù)發(fā)送操作。
ACTION_SENDTO:系統(tǒng)根據(jù)不同的Data類型,通過已注冊的對應(yīng)Application進行數(shù)據(jù)發(fā)送操作?!?/p>
ACTION_BOOT_COMPLETED:Android系統(tǒng)在啟動完畢后發(fā)出帶有此Action的廣播(Broadcast)?!?/p>
ACTION_TIME_CHANGED:Android系統(tǒng)的時間發(fā)生改變后發(fā)出帶有此Action的廣播(Broadcast)。
ACTION_PACKAGE_ADDED:Android系統(tǒng)安裝了新的Application之后發(fā)出帶有此Action的廣播(Broadcast)?!?/p>
ACTION_PACKAGE_CHANGED:Android系統(tǒng)中已存在的Application發(fā)生改變之后(如應(yīng)用更新操作)發(fā)出帶有此Action的廣播(Broadcast)。
ACTION_PACKAGE_REMOVED:卸載了Android系統(tǒng)已存在的Application之后發(fā)出帶有此Action的廣播(Broadcast)?! ?/p>
Category:
?? CATEGORY_DEFAULT:Android系統(tǒng)中默認的執(zhí)行方式,按照普通Activity的執(zhí)行方式執(zhí)行。
CATEGORY_HOME:設(shè)置該組件為Home Activity。
CATEGORY_PREFERENCE:設(shè)置該組件為Preference?!?/p>
CATEGORY_LAUNCHER:設(shè)置該組件為在當前應(yīng)用程序啟動器中優(yōu)先級最高的Activity,通常為入口ACTION_MAIN配合使用。
CATEGORY_BROWSABLE:設(shè)置該組件可以使用瀏覽器啟動?!?/p>
CATEGORY_GADGET:設(shè)置該組件可以內(nèi)嵌到另外的Activity中。
Extras:
?? EXTRA_BCC:存放郵件密送人地址的字符串數(shù)組。
EXTRA_CC:存放郵件抄送人地址的字符串數(shù)組。
EXTRA_EMAIL:存放郵件地址的字符串數(shù)組?!?/p>
EXTRA_SUBJECT:存放郵件主題字符串?!?/p>
EXTRA_TEXT:存放郵件內(nèi)容?!?/p>
EXTRA_KEY_EVENT:以KeyEvent對象方式存放觸發(fā)Intent的按鍵?! ?/p>
EXTRA_PHONE_NUMBER:存放調(diào)用ACTION_CALL時的電話號碼。
? Data:
?? tel://:號碼數(shù)據(jù)格式,后跟電話號碼?!?/p>
mailto://:郵件數(shù)據(jù)格式,后跟郵件收件人地址。
smsto://:短息數(shù)據(jù)格式,后跟短信接收號碼。
content://:內(nèi)容數(shù)據(jù)格式,后跟需要讀取的內(nèi)容?!?/p>
file://:文件數(shù)據(jù)格式,后跟文件路徑。
market://search?q=pname:pkgname:市場數(shù)據(jù)格式,在Google Market里搜索包名為pkgname的應(yīng)用。
geo://latitude, longitude:經(jīng)緯數(shù)據(jù)格式,在地圖上顯示經(jīng)緯度所指定的位置。
轉(zhuǎn)載于:https://www.cnblogs.com/wabi87547568/p/4949708.html
總結(jié)
以上是生活随笔為你收集整理的Intent中的四个重要属性——Action、Data、Category、Extras的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2015自定义类模板的方法
- 下一篇: 什么是分布式