隐式意图和显式意图

 
隐式意图: 不知道将要跳转的是哪一个类, 无法引用到类. 只知道其动作(action), 类型(mimeType)和附加信息.

* 原理:开启目标activity,系统去清单文件匹配,如果匹配成功则开启activity;如果匹配失败则抛出没有找到这个activity的异常

* 缺点:效率低,代码数据复杂

* 优点:可以开启自己和其他应用程序里的activity界面

* 应用场景:用于开启系统的activity界面

 

// 以下是打开系统中浏览器页面.

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); 

显示意图:明确知道并且可以引用的是哪一个Activity类对象

* 原理:直接指定要开启activity类的字节码

* 编写步骤:

Intent intent = new Intent(this,ThirdActivity.class);
startActivity(intent);

* 优点:效率高,代码书写简单

* 缺点:只能开启自己应用程序里的activity界面

* 应用场景:开启自己应用程序里的activity组件

 


原文地址:https://www.cnblogs.com/loaderman/p/6415863.html