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