发送一个意图浏览器打开特定的URL
我只是想知道如何启动一个意图到手机的浏览器来打开一个特定的网址并显示它。
有人可以给我一个提示吗?
要打开网址/网站,请执行以下操作:
String url = "http://www.example.com"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i);
这里是Intent.ACTION_VIEW
的文档 。
来源: 在应用程序内部在Android的Web浏览器中打开一个URL
简短的版本
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://almondmendoza.com/android-applications/")); startActivity(i);
应该也能工作
最短的版本。
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")));
在某些情况下,URL可能以“www”开头。 在这种情况下,你会得到一个例外:
android.content.ActivityNotFoundException: No Activity found to handle Intent
该网址必须始终以“http://”或“https://”开头,因此我使用以下代码:
if (!url.startsWith("https://") && !url.startsWith("http://")){ url = "http://" + url; } Intent openUrlIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(openUrlIntent);
向浏览器发送一个意图打开特定的URL:
String url = "http://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")));
有关Intent的更多信息
=)
还有一种方法可以将坐标直接传递给Google地图来显示吗?
您可以使用地理 URI
前缀:
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("geo:" + latitude + "," + longitude)); startActivity(intent);
来自XML
如果您的视图中显示了网址/网址,并且希望将其设置为可以将用户引导至特定网站,则可以使用:
android:autoLink="web"
以同样的方式,您可以使用autoLink(电子邮件,电话,地图,所有)的不同属性来完成您的任务…
“还有一种方法可以直接将坐标直接传递给Google地图来显示吗?”
我发现,如果我将包含坐标的URL传递给浏览器,Android会询问我是否需要浏览器或地图应用程序,只要用户没有选择浏览器作为默认浏览器即可。 有关URL格式化的更多信息,请参阅我的答案。
我想如果您使用意图启动地图应用程序与coords,这也将工作。
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")); startActivity(browserIntent);
在你的代码中使用下面的代码片段
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