向浏览器发送意图以打开特定URL

我只是想知道如何在手机浏览器上启动一个Intent来打开一个特定的URL并显示它。

有人能给我一个提示吗?

714400 次浏览

要打开URL/网站,您需要执行以下操作:

String url = "http://www.example.com";Intent i = new Intent(Intent.ACTION_VIEW);i.setData(Uri.parse(url));startActivity(i);

这里是留档#0


来源:从应用程序中打开Android Web浏览器中的URL

简短的版本

startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://almondmendoza.com/android-applications/")));

也应该工作…

“有没有办法直接将坐标传递给谷歌地图显示?”

我发现,如果我将包含坐标的URL传递给浏览器,Android会询问我是否想要浏览器或地图应用程序,只要用户没有选择浏览器作为默认值。有关URL格式的更多信息,请参阅我的答案这里

我想如果您使用意图来启动带有坐标的地图应用程序,那也可以。

有没有办法直接将坐标传递给谷歌地图显示?

您可以使用geoURI前缀:

Intent intent = new Intent(Intent.ACTION_VIEW);intent.setData(Uri.parse("geo:" + latitude + "," + longitude));startActivity(intent);

在某些情况下,URL可能以“www”开头。在这种情况下,您将获得异常:

android.content.ActivityNotFoundException: No Activity found to handle Intent

URL必须始终以“超文本传输协议://”或“https://”开头,所以我使用这段代码:

if (!url.startsWith("https://") && !url.startsWith("http://")){url = "http://" + url;}Intent openUrlIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));startActivity(openUrlIntent);

最短的版本。

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")));

从xml

如果您的视图上显示了网址/URL,并且您希望它使其具有吸引力并将用户引导到特定网站,您可以使用:

android:autoLink="web"

以同样的方式,你可以使用不同的属性自动链接(电子邮件,电话,地图,所有)来完成你的任务。

在代码中使用以下代码段

Intent newIntent = new Intent(Intent.ACTION_VIEW,Uri.parse("https://www.google.co.in/?gws_rd=cr"));startActivity(newIntent);

使用此链接

http://developer.android.com/reference/android/content/Intent.html#ACTION_VIEW

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));startActivity(browserIntent);

向浏览器发送意图以打开特定URL:

String url = "https://www.stackoverflow.com";Intent i = new Intent(Intent.ACTION_VIEW);i.setData(Uri.parse(url));startActivity(i);

可以更改为短代码版本…

Intent intent = new Intent(Intent.ACTION_VIEW).setData(Uri.parse("http://www.stackoverflow.com"));startActivity(intent);

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.stackoverflow.com"));startActivity(intent);

甚至更短!

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.stackoverflow.com")));

更多关于意图的信息

=)