【问题标题】:Opening default android browser with a URL and parameter passing in android打开带有 URL 和参数的默认 android 浏览器在 android 中传递
【发布时间】:2013-07-31 13:07:50
【问题描述】:

我正在尝试传递表单的 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 浏览器的错误还是我需要在这里做一些不同的事情?

【问题讨论】:

  • 所以你没有得到你期望的 url 内容?
  • 在浏览器地址栏中,我看到第二个 URL 带有一个额外的斜杠。如果我删除“?”只是看起来工作正常
  • @Stacks28 我觉得这和我现在做的一样,没什么区别。

标签: android url browser url-parameters


【解决方案1】:

如果您仔细阅读How can I open android browser with specified POST parameters? 问题和 cmets,我想您可能会得到答案。基本上它说你不能在 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 之前。它可能会有所帮助。

【讨论】:

  • 我实际上想关闭应用程序本身并且只打开一个带有此 url 的页面。所以打开网页视图对我来说可能不是一个很好的解决方案。
  • ohhh 然后需要考虑:P
猜你喜欢
  • 2021-09-11
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 1970-01-01
  • 2017-10-03
  • 2018-08-21
  • 2014-12-29
  • 2014-12-06
相关资源
最近更新 更多