我有Android 4.0.3的问题。我正在使用下面的方法获取本地IP:Android 4.0.3获取本地IP
public static 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()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
ex.printStackTrace();
}
return null;
}
它在android v2.1-2.3上效果很好。但在模拟器与Android 4.0.3它返回类似mac-address:fe80 :: fad0:bdff:fe4d:4871任何人都可以解释发生了什么?
这是一个IPv6地址 – 2012-03-24 08:03:11
检查(!inetAddress.isLoopbackAddress()&&!isIPV6(InetAddress类)) – Calvin 2012-03-24 08:09:44
怎样才能我将它转换为IPv4? – Nolesh 2012-03-24 08:43:25