1

我使用这段代码:

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 Emulator 上的浏览​​器上,我得到了这个地址:

http:%2F%2Fgoogle.com

这是为什么?以及如何解决?

4

1 回答 1

4

读取源代码Uri.fromParts()构建一个OpaqueUriOpaqueUri.toString()URL 编码特定于方案的部分,更改/%2F.

这是一个记录在案的功能

对 ssp 进行编码,这意味着此方法不能用于创建分层 URI。

要获得所需的分层 Uri,请使用

Uri.parse("http://google.com/")

或使用Uri.Builder.

于 2013-10-21T09:15:00.190 回答