1.當你在androidmanifest里面定義了一個或多個action時

你使用隱式意圖其他activity或者service時,規定你隱式里面的action必須匹配XML中定義的action,可以只匹配XML文件一個就行
2.當你在androidmanifest里面定義了一個或多個category時
規定你的代碼中可以沒有category,但是XML中要加上"android.intent.category.DEFAULT"這句
如果你在代碼中定義了一個或者多個category,那么你必須跟XML文件中定義的一樣。比如你定義了一個category,那么要在XML文件中匹配到一個,,如果你定義了多個category
那么要在XML文件中全部匹配,一一對應!
3.當你在androidmanifest里面定義了一個或多個data時
規定,要求intent中必須含有data數據,並且data數據能夠完全匹配XML文件中的某一個data.這里需要注意的是XML文件中雖然沒有指定URL,但是他默認的是"file和content"
所以我們在代碼中匹配要寫成 intent.setDataAndType(Uri.parse("file://abc"),"data數據");
最后一點不管是action,category,data在XML中都必須加上android.intent.category.DEFAULT,因為你啟動activity的時候,他會默認給你加上,倒是進行匹配發現你XML中沒有就會報錯,匹配失敗
如果同時都設置的action,category,data,那么必須都要完全匹配正確
