android-intent - 安卓:发送一个Intent到浏览器去打开特定的URL

  显示原文与译文双语对照的内容

这个问题已经有了如下答案:

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

有人能给我点提示?

是否还可以通过直接传递坐标到 谷歌地图 来显示?

时间:

要打开网址/网站,请执行以下操作:


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

下面是 Intent.ACTION_VIEW的文档。

短版本


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

应该也能工作。。

在某些情况下,URL可能以"www"开头。 在这种情况下,你将得到一个例外:


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

URL必须总是以"http://" 或者"https://" 开头,所以我将使用以下代码:


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

是否还可以通过直接传递坐标到 谷歌地图 来显示?

你可以使用土工 URI 前缀:


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

aioobe的答案:


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

= )

来自 XML

如果你的网站上显示了该网站,并且希望它使它成为clikable并直接用户到特定网站,你可以使用:


android:autoLink="web"

同样,你可以使用 autoLink(email, phone, map, all)的不同属性来完成你的任务。。

...