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()&& InetAddressUtils.isIPv4Address(inetAddress.getHostAddress())) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e("WifiPreference IpAddress", ex.toString());
}
return null;
} android4.0以后增加ipv6.所以要判断是否是ipv4.否则默认出来的是ipv6的地址。
android4.1获取ip地址通用方法
最新推荐文章于 2025-09-13 09:17:56 发布
本文提供了一段Java代码,用于在Android设备上获取有效的IPv4地址,并排除了回环地址和IPv6地址。该方法适用于Android 4.0及以上版本。
1291

被折叠的 条评论
为什么被折叠?



