Intent的六大属性总结笔记

时间:2022-02-12 16:26:06
Intent的六大属性
1、Component:组件,规定了Intent的起始和终了,用作显式跳转
例如:
Intent intent = new Intent();
ComponentName component = new ComponentName(Context, Class);
intent.setComponent(component);
startActivity(intent);


2、Action:动作,动作的指向,隐式跳转
例如:Intent.ACTION_VIEW //设置查看动作,如音频、网页
Intent.ACTION_CALL //设置拨打电话的动作
Intent.ACTION_SENDTO //设置发送短信的动作


3、Category:动作类型,配合action使用,指定action的范围。


4、Data:数据,Intent指向数据,启动默认应用打开该数据。
例如:
播放音乐:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file:///mnt/sdcard/music/lnh.mp3"), "audio/mp3");
startActivity(intent);
打开网页:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.jinzhaow.cn"));
startActivity(intent);


拨打电话:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel://110"));
startActivity(intent);


发送短信:
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("smsto://332423"));
startActivity(intent);


5、Extras:附加信息,Activity之间跳转携带信息。
#基本数据类型:
putExtra(String,byte)
putExtra(String,byte[])


putExtra(String,short)
putExtra(String,short[])


putExtra(String,int)
putExtra(String,int[])


putExtra(String,long)
putExtra(String,long[])


putExtra(String,float)
putExtra(String,float[])


putExtra(String,double)
putExtra(String,double[])


putExtra(String,boolean)
putExtra(String,boolean[])


putExtra(String,char)
putExtra(String,char[])


引用数据类型、系统类,自定义类(必须实现序列化):
putExtra(String,string)
putExtra(String,string[])


putExtra(String,Bundle)


putExtra(String,Serializable)


putExtras(Bundle)


获取传递过来的Intent对象:getIntent()
获取Intent对象中的数据:getIntExtra(String)
getStringExtra(String)
getStringArrayExtra(String)
getSerializableExtra(String)


#先把所需携带的数据存入Bundle对象中,用Intent携带:putExtras(Bundle)
取出数据:getExtras()


6、flags:标志位