intent的作用:
1: 应用程序之间的解耦: 让不同的应用程序之间的界面可以相互调用.
2: 说明了一个用程序是开放的不是封闭的.(在IOS的系统中就不行)
意图的分类:
1; 隐式意图
(通过动作,数据,category)开启新的activity。
应用场景: 激活别的应用程序的 activity.
查询系统里面满足条件的activity,再把activity激活,效率较低,比较慢。
<span style="white-space:pre"> </span>Intent intent=new Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.addCategory("android.intent.category.BROWSABLE");
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
2. 显式意图. 直接指定要激活的activity。_效率高_。直接指定。
<span style="white-space:pre"> </span> intent.setClassName(this, "com.XXX<pre name="code" class="java"><span style="white-space:pre"> </span>Intent intent = new Intent(this,SecondActivity.class);
startActivity(intent);
第二种写法:
<span style="white-space:pre"> </span>.rpcalc.SecondActivity");
startActivity(intent);
3:应用场景
* 如果激活的是应用程序内部的activity,推荐使用显示意图,直接指定包名类名。效率高。
* 如果激活的是其他应用程序的activity,推荐使用隐式意图,通过action和data指定。
4:intent 也可以传递数据