打开默认的android浏览器,其中包含在android中传递的URL和参数

时间:2013-07-31 06:23:46

标签: android url browser url-parameters

我正在尝试传递表单的网址:

http://foo.com?param1=somevalue

到Android浏览器,然而,一旦此URL以这种形式发送到浏览器,

浏览器似乎在URL本身附加正斜杠,如下所示:

http://foo.com/?param1=somevalue

令人惊讶的是,Android浏览器无法解析此问题。我不确定为什么这会打破网址。

调用代码是这样的:

Intent sampleIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(sampleURL));
startActivity(sampleIntent);

这是Android浏览器的错误还是我需要在此处做一些不同的事情?

1 个答案:

答案 0 :(得分:0)

如果您仔细阅读How can I open android browser with specified POST parameters?问题和评论,我想您可能会得到答案。基本上它说你不能在POST中添加额外的参数来使用Intent启动浏览器,但是GET允许这样做。 @Pete还有一个solution来做你想做的事情,在WebView内(如果你想要考虑的话):

WebView webview = new WebView(this);
setContentView(webview);
byte[] post = EncodingUtils.getBytes("postvariable=value&nextvar=value2", "BASE64");
webview.postUrl("http://www.geenie.nl/AnHeli/mobile/ranking/demo/index.php", post)

希望这在某种程度上有所帮助。

<强>更新

查看Opening URL on Android web browser causes Google search问题。它谈到了使用URLEncoder.encode 在传入URL之前。它可能有所帮助。