IntentFilter中有Action,Data,Category三个用于匹配的属性,以下为三种属性可以匹配的情况总结:
Action:
- 值相同,或者IntentFilter未指定Action
Data :
- 设置了scheme 而没设type,则intent也必须类似,不能设置type,也不能是content: URI.
- 设置了type而没设scheme:将匹配上没有URI的intent,或者content:,file:的uri。
- 设置了authority:必须指定一个或多个相关联的schemes
- 设置了path:必须指定一个或多个相关联的schemes
Category:
- 如果Intent中的Category集合是Intentfilter中Category的集合的子集时,Intent才能通过检查。如果Intent中没有设置Category,则它能通过所有Intentfilter的Category检查。