我有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