无法在浏览器中打开网址

时间:2012-12-22 16:02:00

标签: android

我正在尝试使用以下代码在网络浏览器中打开网址

不起作用

Bundle ex=in.getExtras();
link=ex.getString("link");
public void onClick(View arg0) {
    Intent t=new Intent(Intent.ACTION_VIEW);
    Uri u=Uri.parse(link);
    t.setData(u);
    startActivity(t);   
}

但是我有一个奇怪的问题。当我使用确切的url而不是字符串“link”时,一切正常,但是当我使用我创建的String链接时,我得到“没有找到要处理的活动”意图“例外。但我确定链接包含正确的URL,与之前使用的相同。

此作品

 public void onClick(View arg0) {
    Intent t=new Intent(Intent.ACTION_VIEW);
    Uri u=Uri.parse("http://google.com");
    t.setData(u);
    startActivity(t);   
}

我确信在第一种情况下,链接包含网址(http://google.com),除了我打印在textview上进行检查!

2 个答案:

答案 0 :(得分:1)

嗯,问题是由'link'的空格引起的。我使用了link.trim()并且它正常工作。谢谢你们的帮助。

答案 1 :(得分:0)

这是因为Intent.ACTION_VIEW的行为会有所不同,具体取决于您使用setData传递的数据。 因此,如果你传递一个Uri / URL,它将打开浏览器,但是如果你传递一个字符串(字符串实际上包含一个url并不重要),它就不知道如何处理它。

如果您需要从代码创建链接,可以使用Uri.withAppendedPath