Intent是Android中用来协助应用间的交互和通信的,可以用于应用程序之间,也可以用于程序内部的Activity、Service、BroadcastReceive之间的交互;
1、启动组件的方法:
startActivity();跳转到一个新的Activity;
startActivityForResult();跳转到一个新的Activity,关闭该Activity后返回数据;
startService();启动服务
bindService();绑定服务
sendBroadcasts() 放送无序广播;
sendOrderdBroadcasts();发送有序广播;
2、Intent实现页面跳转:
Intent intent=new Intent();
intent.startActivity(MainActivity.class,SecondActivity.class);
3、显示Intent和隐式Intent
(1)显示Intent:通过提供目标名称或完全限定组件类名指定Intent应用。
(2)隐式Intent: 不指定组件,而是声明要执行的操作,从而允许其他应用进行相应的操作;
4、Intent的属性:
ComponentName(组件名称):有ComponentName为显示;若无为隐式;如果需要使用那个组件接收特定的Intent,就指定哪一个组件的名称;可以使用setComponent()、setClass()、setClassName()及Intent的构造方法设置组件名称;
Intent intent1=new Intent(MainActivity.class,SecondActivity.class);
Intent intent1=new Intent();
intent1.setCalss(MainActivity.class,SecondActivity.class);
intent1.setCalssName(MainActivity.class,SecondActivity.class);
intent1.setComponent(new ComponentName(MainActivity.class,SecondActivity.class));
Activity(活动):指定要执行的操作;setActivity();
Intent intent1=new Intent();
intent.setActivity(Intent.ACTION_VIEW)
Category(分类):是一个Activity的附加信息;
intent.addCategory(Intent.CATEGORY_BROWSABLE);//浏览器调用目标活动显示链接数据
intent.addCategory(Intent.CATEGORY_HOME);//返回桌面
Data(数据):Android要访问的数据,也可以通过Data来启动一个Activity发布出去提供给他人使用;Data是用一个Uri对象来表示,代表数据的地址;
Intent intent = new Intent();
//ACTION_VIEW表示查看
intent.setAction(Intent.ACTION_VIEW);
Uri uri=Uri.parse("https://www.XXX.com");
intent.setData(uri);
startActivity(intent);
Type(数据类型):用于指定明确的Data属性的数据类型或MiME类型,当Intent不指定Data的类型时,Type生效;
intent.setType();//设置类型
Extra(附加信息):所有附件信息的集合,可以将信息放在Extra中,发送给组件。
intent.putExtras("XX",A.getText().toString());
Flag(标志):通过setFlags()设置;