Android 隱式Intent的實(shí)例詳解
Android 隱式Intent的實(shí)例詳解
前言:
顧名思義,隱式意圖就是在不明確設(shè)置激活對(duì)象的前提下尋找最匹配的組件,舉個(gè)例子,比如有5個(gè)人:
(1)A:170cm
(2)B:160cm
(3)C:180cm
(4)D:190cm
(5)E:200cm
如果是顯示意圖的話,如果我們要指明選擇A的話會(huì)說:”我選擇A.“,但是如果是隱式意圖,則會(huì)說:”我要選擇170cm的人“,雖然沒有指明要選A,但會(huì)尋找條件最匹配的人。
在intent過濾器中類似于上面例子中的”身高“條件的匹配條件有:
(1)action
(2)category
(3)data:scheme、host、path、type
當(dāng)在程序中設(shè)置了這些激活組件的條件,程序就會(huì)去尋找最匹配的組件,但是注意:只要有一點(diǎn)不匹配,則就是不匹配;
比如:
Intent intent = new Intent(); intent.setAction("a");//此句只是指定了Action startActivity(intent);//尋找最匹配的組件激活,內(nèi)部會(huì)調(diào)用intent.addCategory("Android.intent.category.DEFAULT");
隱式Intent的核心代碼
首先是在AndroidManifest.xml中為某個(gè)Activity設(shè)置意圖過濾器:
<activity> <intent-filter> <action android:name="...."/> <category android:name="...."/> <category android:name="android.intent.category.DEFAULT"/> <!--此句一般都要加 --> <data android:scheme="..." android:host="..." android:path="/..." android:type="..."/> </intent-filter> </activity>
以上設(shè)置是設(shè)置Activity本身的屬性,接下來在程序中要設(shè)置的是我們要尋找時(shí)匹配的條件:
(1)Intent intent = new Intent();
(2)intent.setAction("....");
(3)intent.addCategory("....");
(4)intent.setData(Uri.parse("...."));//設(shè)置data的scheme、host、path條件
(5)intent.setDataAndType(Uri.parse(""),String type);//同時(shí)設(shè)置data的scheme、host、path、type條件
(6)startActivity(intent);//調(diào)用intent.addCategory("android.intent.category.DEFAULT");
以上就是Android 隱式Intent 的詳解,如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
app 請(qǐng)求服務(wù)器json數(shù)據(jù)實(shí)例代碼
下面小編就為大家分享一篇app 請(qǐng)求服務(wù)器json數(shù)據(jù)實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01android實(shí)現(xiàn)多圖文分享朋友圈功能
本文主要介紹android調(diào)用系統(tǒng)分享實(shí)現(xiàn)朋友圈同時(shí)分享文字和圖片,圖片還可以多圖添加分享的功能。2017-11-11Android 有效的解決內(nèi)存泄漏的問題實(shí)例詳解
這篇文章主要介紹了Android 有效的解決內(nèi)存泄漏的問題的相關(guān)資料,這里舉例說明,如何實(shí)現(xiàn)解決內(nèi)存泄漏,需要的朋友可以參考下2016-11-11Android Shape屬性創(chuàng)建環(huán)形進(jìn)度條
這篇文章主要介紹了Android Shape屬性創(chuàng)建環(huán)形進(jìn)度條的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11詳解Android App中使用VideoView來實(shí)現(xiàn)視頻播放的方法
這篇文章主要介紹了Android App中使用VideoView來實(shí)現(xiàn)視頻播放的方法,舉例講解了VideoView組件中setVidePath(String path)和setVideoURI(Uri uri)的用法,需要的朋友可以參考下2016-04-04Android自定義View實(shí)現(xiàn)炫酷進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)炫酷進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11一文教你如何使用Databinding寫一個(gè)關(guān)注功能
這篇文章主要介紹了一文教你如何使用Databinding寫一個(gè)關(guān)注功能,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09Android 開發(fā)中fragment預(yù)加載問題
這篇文章主要介紹了Android 開發(fā)中fragment預(yù)加載問題的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-01-01Android RecyclerView添加FootView和HeadView
這篇文章主要介紹了Android RecyclerView添加FootView和HeadView的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10