5
如果设备的wifi已连接,我假设设备具有一个LAN IP地址,该IP地址可能是由路由器上运行的DHCP分配的。如何找到android设备的局域网ip地址?
怎样才能找到wifi接口上的局域网ip地址(不是外部ip)?
感谢,
如果设备的wifi已连接,我假设设备具有一个LAN IP地址,该IP地址可能是由路由器上运行的DHCP分配的。如何找到android设备的局域网ip地址?
怎样才能找到wifi接口上的局域网ip地址(不是外部ip)?
感谢,
NetworkInterface将帮助您:
String ipAddress = null;
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()) {
ipAddress = inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {}
如果连接3G/4G,这是否也会返回WAN地址? – matcauthon
**“如果设备wifi的连接,我认为该设备具有由路由器上运行的DHCP分配大概的LAN IP地址。 “** - 不必要。尽管ariefbayu的答案可以帮助您找到各种网络接口的IP地址,但您不能假定WiFi接口的IP地址是来自LAN的IP地址。在各个国家有“广域”wifi服务 - 这意味着如果您的要求是与实际的无线局域网进行通信,如果用户的设备连接到“广域”无线网络,则您的软件可能无法工作。 – Squonk