Intent中文翻译为意图,在Android中Intent主要用于在Activity、Service、BroadCastReceiver之间通信。即Intent的主要作用就是用来实现组件之间的通信。
Intent负责对应用当中的一次操作的动作、动作涉及的数据、还有附加数据来进行描述,Android会根据Intent的描述来负责找到相应的组件,再将Intent传递给调用的组件,并完成对组件的调用。
通常情况下实现以下三种组件间的通信:
1.开启一个Activity
2.开启一个Service
3.传递广播
Intent对象的属性:
**ComponentName:**组件名称,用来设置Intent对象的组件名称,通过设置这个ComponentName可以启动其他的Activity或者是其他应用当中的Activity。可以使用Intent对象提供的setComponent()方法来进行设置。在使用这个方法的时候需要传递一个ComponentName对象,在创建这个对象的时候需要俩个参数,一个是应用的包名、另一个是要启动组件的类名。
**Action:**用来指定将要执行的动作,通常情况下与Data一起使用。可以通过Intent定义的Action常量来设置,具体可以在AndroidSDK的API文档中查看。
**Data:**用来指定具体的数据,通常情况下与Action一起使用。是一个URI对象,通常情况下包括数据的URI和MIME类型,不同的Action有不同的数据规格。
**Category:**用来对执行动作的类别进行描述。可以通过Intent提供的Category常量来进行设置。需要使用Intent提供addCategory(),其中指定的参数就是Category常量。
**Extras