android 获取局域网ip
时间: 2023-08-18 21:07:45 浏览: 224
在 Android 中获取局域网IP地址可以使用以下代码:
```java
public String getLocalIpAddress() {
try {
// 获取所有网络接口(即网卡,如wifi、3g、4g等)列表
Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
while (en.hasMoreElements()) {
NetworkInterface intf = en.nextElement();
// 获取该网络接口下的所有IP地址
Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses();
while (enumIpAddr.hasMoreElements()) {
InetAddress inetAddress = enumIpAddr.nextElement();
// 如果不是回环地址并且是IPv4地址
if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
// 返回IP地址
return inetAddress.getHostAddress();
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
return null;
}
```
需要注意的是,如果设备同时连接了多个网络,比如同时连接了Wi-Fi和3G网,那么可能会有多个IP地址。这时候可以根据需要选择其中一个IP地址来使用。
阅读全文