概述
只有一个intent内的action、category和date都能匹配上一个intent filter时才会启动对应的Activity。当然,这三者都有对应的匹配规则
- action
manifest中,一个intent filter可以有多个action。我们跳转时,intent中只能设置一个action,这个action必须与intent filter中的一个action匹配 - category
manifest中,一个intent filter可以有多个category。我们跳转时,intent可以add多个category,每个category都必须与intent filter中的某个category匹配,才算匹配上。category不能为空,intent中如果不设置category,系统会自动添加默认的categoryandroid.intent.category.DEFAULT。在manifest中设置intent filter时,也要记得,如果想让Activity接受隐式启动,必须加上android.intent.category.DEFAULT这个默认的category.
- date
date的匹配规则和action类似,如果过滤规则中定义了data,那么intent中也必须定义可匹配的data,data主要有两部分
- mimetype: 媒体类型
- uri
- scheme:uri模式,比如http,file,content
- host:主机
- port:端口
- path:路径信息