隐式调用需要Intent能够匹配目标组件的IntentFilter(<activity>标签中的<intent-filter>)中所设置的过滤信息
IntentFilter的过滤信息包括action,category,data
只有一个Intent同时匹配 action,category,data才算完全匹配
一个activity可以有多个<intent-filter>标签,intent只有匹配任何一组<intent-filter>标签就可以启动activity
action :
系统预定义了一些action,我们也可以自定义一些action
匹配规则是intent的action和activity的action的字符串完全一样,一个过滤规则可以有多个action,只要任何一个action相同就算匹配成功
注意字符串区分大小写
category:
Intent可以没有category,但是有几个category就必须都匹配上activity中的其中一个
为什么没有category也可以匹配上呢
因为activity必须添加默认category为"android.intent.category.DEFAULT",并且intent没有category启动时会默认加上"android.intent.category.DEFAULT"