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