当设备作为热点主机时,我需要找到设备的IP地址。到目前为止,我已经使用了以下代码:
//if is using Hotspot
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
if (intf.getName().contains("wlan")) {
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress() && (inetAddress.getAddress().length == 4)) {
return inetAddress.getHostAddress();
}
}
}
}
这个方法运行良好,但是在某些设备上wifi的NetworkInterface
名称不同。因此我需要先找到设备的wifi NetworkInterface
名称(用于其热点)。我该如何找到这个名称?或者有更好的方法来查找设备的IP地址吗?
/// 通过MAC地址查找正确的IP地址似乎也行不通。