Intent 有两种形式:
1.显示意图指定一个目标组件通过其name( Component name field如一个Activity类), 由于组件名称通常不会被其它应用程序的开发者知道。所以,显示意图通常用在应用程序内部消息。----如:一个Activity 启动一个从属的service或者启动另一个activity
2.隐式意图不指定目标组件名称(component name 是空的,通过一个字符串Action或URI)隐式意图通常用于去激活其它应用程序的组件
如果一个组件没有intent filter, 那么它只能接受显式intent,如果有, 则能同时显示意图和隐式意图。
intent filter要匹配一个intent,需要同时满足三点:匹配Action、匹配category、匹配data
intent-filter列表中可以有多个Action,只要intent匹配列表中的任何一个Action,则通过Action的匹配;
一个intent可以包括多个category,intent中的每个category在intent-filter都有匹配项才算通过Action匹配;
每个< data > 元素可以指定一个 URI 和 一个 data type (MIME media type) . URI 有以下几个属性组成 : schema, host,port,path