更多隐式 Intent 的用法
上一节中,你掌握了通过显式隐式 Intent 来启动活动的方法,但实际上隐式 Intent 还有更多的内容需要你去了解,本节我们就来展开介绍一下。
使用隐式 Intent,我们不仅可以启动自己程序内的活动,还可以启动其他程序的活动,
这使得 Android 多个应用程序之间的功能共享成为了可能。比如说你的应用程序中需要展示
一个网页,这时你没有必要自己去实现一个浏览器(事实上也不太可能),而是只需要调用
系统的浏览器来打开这个网页就行了。
修改 MainActivity 中按钮点击事件的代码,如下所示:
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com"));
startActivity(intent);
}
});
这里我们首先指定了 Intent 的 action 是 Intent.ACTION_VIEW,这是一个 Android 系统内置的动作,其常量值为 android.intent.action.VIEW。 然后通过 Uri.parse()方法,将一个网址字
符串解析成一个 Uri 对象,再调用 Intent 的 setData()方法将这个 Uri 对象传递进去。
重新运行程序,在 FirstActivity 界面点击按钮就可以看到打开了系统浏览器。