概述
启动activity分为隐式启动和显式启动,其中隐式启动不指定具体的activity,而是通过一些条件来匹配,分别是category ,action,data。一个intent必须同时匹配这三个条件才能启动相应的activity。一个activity可以有多个action,category和data。
action的匹配规则
category的匹配规则
加上android.intent.category.DEFAULT这个category。因此我们在写activity时为了activity能接收隐式调用,要给activity加上
这个category。
data的匹配规则
<intent-filter>
<data android:mimeType="image/*"/>
.....
</intent-filter>
比如上面这种这种过滤规则,intent中的mimeType属性必须为"image/*"才能匹配。data同时还要指定一个URI。
在过滤规则中虽然没有uri属性,但是却有默认值,当过滤规则中不指定URI时,intent中的uri部分的schema必须是content
或者file才能匹配。
上面例子中可以这么来匹配
intent.setDataAndType(Uri.parse("file://abc"),"image/png");
最后
以上就是暴躁皮卡丘为你收集整理的IntentFilter匹配规则的全部内容,希望文章能够帮你解决IntentFilter匹配规则所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复