如何从 IPv6 Uri 获取端口?

How to get the port from IPv6 Uri?

代码:

Uri uri = Uri.parse("http://[7a03:908:671:b520:ba27:bbff:ffff:fed2]:1234")
Log.d("debug", uri.getPort());  // result: -1

getPort() returns -1 而不是 1234。如何在不解析 Uri 字符串的情况下获取 Uri 的端口?

我认为这是 Android 中的一个已知错误。 android.net.Uri returns IPv6 值不正确。它仍然没有修复:https://issuetracker.google.com/issues/37069493

我认为你必须手动解析它(至少现在)