資源描述:
《android-20 intent顯示意圖和隱式意圖》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第20講Intent的顯示意圖和隱式意圖一、Intent概述1、Intent作用Intent代表了Android應(yīng)用啟動的“意圖”,會根據(jù)Intent來啟動指定組件(包括Activity、Service、BroadcastReceiver),在啟動的時候可以攜帶著某些需要傳遞的數(shù)據(jù)。至于到底啟動哪個組件,由Intent的各個屬性來設(shè)定。2、使用Intent啟動不同組件的方法本次課重點講Activity的啟動,另外兩個組件在后面章節(jié)會具體講到Intent的啟動方式。3、Intent的顯示意圖和隱式意圖---顯式意
2、圖:直接顯式的設(shè)定要啟動的組件名字(舉例見下面Component屬性)----限定于在同一個工程下的相互調(diào)用---隱式意圖:程序啟動具有某些特征的組件(這些特征在待啟動的組件中有所設(shè)定),符合這些特征的組件會被調(diào)用---不同工程下4、Intent的各個屬性詳細(xì)介紹(1)Component屬性——顯式的指定待啟動組件的名字Intentintent=newIntent();ComponentNamecomponent=newComponentName(ListFileActivity.this,MainActivi
3、ty.class);intent.setComponent(component);startActivity(this);被//Intentintent=newIntent(ListFileActivity.this,MainActivity.class);寫法取代。(2)Action屬性、Category屬性(隱式意圖調(diào)用)(回顧電話撥號器,就是一種隱式的意圖的調(diào)用)---通過指定IntentAction屬性、Category屬性來調(diào)用自定義的組件調(diào)用之前,需要設(shè)置被調(diào)用組件(比如Activity)的inte
4、nt-filter屬性,指定組件的Action屬性和Category屬性步驟1、在清單文件中對需要被啟動的Activity設(shè)置意圖過濾器intent-filter屬性5、droid:name="android.intent.category.DEFAULT"/>
步驟2、啟動時,設(shè)置Action,如果不主動設(shè)定categroy,系統(tǒng)會默認(rèn)設(shè)置category的DEFAULT屬性Intentintent=newIntent();intent.setAction("HelloWorld");this.startActivity(intent);步驟3、每個Activity可以注冊多個action,也可以注冊多個category只要
6、在調(diào)用的時候,intent匹配到了一個category和action,就會激活意圖,調(diào)用對應(yīng)的Activity7、ion>
如果不是在同一個應(yīng)用,我們就采用隱式意圖來激活組件(不知道Activity的包名,和類名)---使用隱式意圖調(diào)用系統(tǒng)的ActvityAndroid提供了大量的標(biāo)準(zhǔn)的Action和Catetory常量,比如,通過自己的程序來調(diào)用發(fā)送短信,撥打電話,返回桌面等程序時候,都
8、需要用到這個。例、返回系統(tǒng)的Home桌面Intentintent=newIntent();//返回桌面intent.setAction(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_HOME);this.startActivity(intent);(3)Data屬性Data屬性向Action屬性提供操作的數(shù)據(jù),接受一個Ur