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:标志位