一、为什么有Intent?
Android使用统一的Intent对象来封装这种“意图”,为其提供了一致的编程模型;
‚利于高层次的解耦,不会造成一种硬编码的耦合:若使用startActivity(Class)就会;
ƒ实现Activity之间的数据交换
二、Intent属性:Component、Action、Catagory、Data、Type、Extra、Flag与intent-filter的配置
①Component:指定此属性则为显示Intent、反之为隐式Intent。不用使用<intent-filter.../>进行配置
‚Action、Catagory:抽象“动作”与为其增加额外的附加类别信息,通常结合使用。还可以指定Action、Catagory调用系统的Activity
一个Intent对象只能有一个Action属性,可以有多个Catagory属性。IntentFilter可以声明该组件能满足的要求,多个Action要求和Catagory要求。只要大于等于Intent所指定的要求就能启动该组件
ƒData、Type:Type用于指定Data属性所指定的Uri对应的MIME类型。也可用于启动系统的Activity
Data属性接受一个Uri对象满足:scheme://host:port/path。通常port省略
关系:如果不同时设置两个属性,则后设置的会覆盖先设置的属性。