У меня проблема с 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 Кто-нибудь может объяснить, что случилось?