1、Intent作用
协助完成各个组建间的通信。如activity间、启动service、Broadcast。
2、Intent构成
1、Componet name:要启动的目的组建。
2、Action:目的组建要执行的动作。
3、Data:传输的数据
4、Category: 指定了将要执行的这个action的其他一些额外的信息
1、一个 Intent 可以有多个 category,但至少会有一个,也是默认的一个 category。
2、只有 Intent 的所有 category 都匹配上,Activity 才会接收这个 Intent。
值 |
说明 |
ALTERNATIVE |
Intent数据默认动作的一个可替换的执行方法 |
SELECTED_ALTERNATIVE |
ALTERNATIVE类似,但替换的执行方法不是指定的,而是被解析出来 |
BROWSABLE |
声明Activity可以由浏览器启动 |
DEFAULT |
为Intent过滤器中定义的数据提供默认动作 |
HOME |
设备启动后显示的第一个Activity |
LAUNCHER |
在应用程序启动时首先被显示 |
5、Extras:键值对传递数据
6、Flags:
3、调用方式
Intent在寻找目标组件时有两种方法:
第一种,显式调用,通过Component name直接指定;
第二种,隐式调用,没有明确指定目标组件的名称,那么就要通过一定的条件过滤筛选。
启动activity、service和broadcast的消息系统是没有任何重合的,即,一个要启动activity的Intent对象是绝对不会启动一个service的。