IntentFilter 匹配的一些事

2021-07-12 02:38:35 字數 1149 閱讀 4040

://:/[||]

scheme:uri的模式,比如http,ftp,file,必須指定

host:uri的主機名,比如www.baidu

.com,必須指定

port:uri的埠號,比如80,當前兩者均指定時才有效

path等:表示路徑資訊

例子:.com:80/search/info

如下filter規則

"image/*"/>

...

這種規則雖然沒有指定uri ,卻有預設值,uri的預設值為content和file,也就是說,scheme部分必須為content和file才能匹配!為此可以寫出如下示例

intent.setdataandtype(uri.parse("file://abc"),"image/png");
filter規則:

android:name="com.example.firstactivity:

android:launchmode="

singletask"

android:name="com.example.action.a"/>

android:name="com.example.action.b"/>

android:name="com.example.category.a"/>

android:name="com.example.category.b"/>

android:name="android.intent.category.default"/>

android:mimetype="text/plain"/>

intent-filter>

activity>

匹配:

intent intent = new intent("com.example.action.a");

intent.addcategory("com.example.category.a");

intent.setdataandtype(uri.parse("file://abc"),"text/plain");

startactivity(intent);

Intent filter匹配規則

乙個activity可以有多個intent filter,乙個intent只要匹配到其中乙個就匹配成功 intent必須匹配乙個或乙個以上action才能匹配intent filter成功,但是這個還沒充分 乙個intentkw 能有1個或者0個action intent可以有0個或者多個categ...

Intent filter匹配規則

action 至少匹配乙個 setaction string 或者new intent string action category 可以不新增匹配,但是如果新增必須匹配 addcategory string categoru 當沒有新增時 系統會設定預設的category android.inte...

IntentFilter的匹配規則

mainactivityintent intent new intent 動作 intent.setaction com.pnag.action.good 分類 intent.addcategory com.pnag.category.luck 資料 intent.setdataandtype ur...