我使用此代码:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.fromParts("http", "//google.com/", "")); //fromParts is ok b/c the scheme is different
startActivity(i);
但是在Android模拟器上的浏览器上我得到了这个地址:
HTTP:%2F%2Fgoogle.com
为什么?以及如何解决?
答案 0 :(得分:4)
阅读source,Uri.fromParts()
构建OpaqueUri
和OpaqueUri.toString()
网址对计划特定部分进行编码,将/
更改为%2F
对ssp进行编码,这意味着此方法不能用于创建分层URI。
要获得所需的分层Uri,请使用
Uri.parse("http://google.com/")
或使用Uri.Builder
。