1
我需要列出任何特定Android设备的所有可用IP地址。返回Android设备的所有可用IP地址?
我发现了一些示例代码,但这只会导致返回一个IP地址,这恰好是一个IPv6地址。我需要获取任何特定设备的所有可用IP。我在这个应用的iOS版本上做同样的事情,它返回3个IPv6地址,一个192.
地址和一个10.
地址。我试图在Android上复制相同的内容。我将所有值传递给一个数组并将它们显示在列表中。
我有到位的代码是:
public String getLocalIpAddress()
{
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
IPAddresses.setText(inetAddress.getHostAddress().toString());
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
String LOG_TAG = null;
Log.e(LOG_TAG, ex.toString());
}
return null;
}
我正在尝试你的解决方案,并试图将返回的值传递给一个数组没有运气。我试着:String [] ipArray = new String [] {getLocalIpAddress()};我已经在iOS上呆了一段时间,而且我有点生疏回到Android! –
'String [] ipArray = getLocalIpAddress();'应该是你需要做的。 –