获取当前设备无线和有线连接的IP
有线和无线同时连接时优先获取了无线的IP
public static String getIp() {
try {
// 获取本地设备的所有网络接口
Enumeration<NetworkInterface> enumerationNi = NetworkInterface.getNetworkInterfaces();
while (enumerationNi.hasMoreElements()) {
NetworkInterface networkInterface = enumerationNi.nextElement();
String interfaceName = networkInterface.getDisplayName();
if (interfaceName.equals("wlan0")) {
Enumeration<InetAddress> enumIpAddr = networkInterface.getInetAddresses();
while (enumIpAddr.hasMoreElements()) {
// 返回枚举集合中的下一个IP地址信息
InetAddress inetAddress = enumIpAddr.nextElement();
// 不是回环地址,并且是ipv4的地址
if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
return inetAddress.getHostAddress();
}
}
}else if (interfaceName.equals("eth0")) {
Enumeration<InetAddress> enumIpAddr = networkInterface.getInetAddresses();
while (enumIpAddr.hasMoreElements()) {
// 返回枚举集合中的下一个IP地址信息
InetAddress inetAddress = enumIpAddr.nextElement();
// 不是回环地址,并且是ipv4的地址
if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
return inetAddress.getHostAddress();
}
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return "";
}
本文标题:获取当前设备无线和有线连接的IP
本文链接:https://www.haomeiwen.com/subject/ljpnaqtx.html
网友评论