我正在尝试传递表单的网址:
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浏览器的错误还是我需要在此处做一些不同的事情?
答案 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之前。它可能有所帮助。