1

我正在尝试传递表单的 URL:

http://foo.com?param1=somevalue

然而,一旦这个 URL 以这种形式准确地发送到浏览器,

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

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

令人惊讶的是,android 浏览器在解析这个时遇到了麻烦。我不确定为什么这会破坏 URL。

调用代码是这样的:

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

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

4

1 回答 1

0

如果您仔细阅读如何使用指定的 POST 参数打开 android 浏览器?问题和评论,我想你可能会得到答案。基本上它说你不能在 POST 中添加额外的参数来使用 Intent 启动浏览器,但是 GET 允许这样做。@Pete还有一个解决方案,可以在里面做你想做的事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)

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

更新

查看在 Android 网络浏览器上打开 URL 会导致 Google 搜索问题。它讨论了 在传递 URL 之前使用URLEncoder.encode 。它可能会有所帮助。

于 2013-07-31T06:32:30.080 回答