1. Intent的Component属性
Intent对象的setComponent(ComponentName comp)方法用于设置intent的component属性。如:
ComponentName comp= new ComponentName(FirstActivity.this,SecondActivity.class);
Intent intent = new intent();
intent.SetComponent(comp);//创建了一个intent对象,并为其指定了Component属性
相当于:Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
除了使用SetComponent()之外还可以使用setClass(),SetClassName()来显示指定目标组件,还可以调用getComponent()方法获得Intent中封装的ComponentName对象。
2. Intent的Action属性
action属性是一个字符串,代表某一种特定的动作。
Intent类的SetAction()方法,用于设定action,getAction方法可以获取Intent的封装的action;
ACTION—CALL ---目标组件为activity,代表拨号动作;
ACTION—EDIT ---目标组件为activity,代表向用户显示数据以供其编辑的动作;
ACTION—MAIN ---目标组件为activity,作为task中的初始activity启动;
ACTION—BATTERY—LOW ---目标组件为BroadCastReceiver,提醒手机电量过低;
ACTION—SCREEN—ON ---目标组件为BroadCastReceiver,表示开启屏幕;
。。。。。。。。。
3. Intent的data属性
data属性指定所操作数据的URI,data经常与action配合使用。如果action为ACTION—EDIT data值应该指明被编辑文档的URI。
Intent类中的SetData()方法用于设置data属性;
4. Intent的Extra属性
携带数据需要调用Intent的putExtra()方法,该方法存在多个重载方法,可用于携带基本数据类型及其数组,string类型及其数组,Parcelable类型及其数组,Bundle类型等Serializable和Parcelable类型代表一个可序列化的对象。Bundle与Map类似,可用于存储键值对。