Intent可以启动一个Activity,也可以启动一个Service,还可以发起一个广播(Broadcast).
Intent由以下几个部分组成:动作(Action),数据(Data),分类(Category),类型(Type),组件(Component)和扩展信息(Extra).通过这些可以启动其他组件并携带信息.
Intent在寻找目标组件时有两种方法:第一,通过组件名称直接指定,第二,通过intent Filter过滤指定.
Intent封装了它要执行动作的属性,这些属性最常见的是Action和Data.
Intent的ComponentName属性
Intent的组件名称对象由ComponentName类来封装,组件名称包含包名称和类名称,被声明在AndroidManifest.xml文件中。
组件名称通过setComponent(),setClass(),setClassName()设置,通过getComponent()获得。
Intent的Action属性
我们可以为Intent定义一个Action属性来访问,Action属性是一个字符串,我们在程序中定义,并在要访问组件(例如,Activity)
的IntentFilter中声明就可以使用。
在用Data属性的情况下也是可以成功启动activity的
Uri data =Uri.parse("content://com.amaker.ch07.app/abc");
intent.setData(data);
在AndroidManifest.xml中
<data android:scheme="content" android:path="com.amaker.ch07.app/abc"/>