Ich muss die IP-Adresse des Geräts finden, wenn es einen Hotspot hostet. Ich habe diesen Code bisher verwendet:Android Finden Sie die IP-Adresse des Geräts, wenn es einen Hotspot hostet
//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();
}
}
}
}
Das funktioniert ganz gut, aber der WiFi NetworkInterface
Name unterscheidet sich bei einigen Geräten. Also muss ich zuerst den Namen des Geräts wifi NetworkInterface
(für seinen Hotspot) finden. Wie kann ich diesen Namen finden? Oder gibt es einen besseren Ansatz, um die IP-Adresse des Geräts zu finden?
/// die richtige IP-Adresse durch die MAC-Finding scheint auch nicht
Funktionierte nicht für mich (auf dem HTC One). Als ich einen WLAN-Hotspot eingerichtet habe, bekam mein Telefon IP 192.168.1.1. Ich fand das heraus, indem ich mich über meine Windows-Box mit dem Hotspot verbinde und die IP-Adresse des WLAN-Gateways über "ipconfig/all" überprüfe. –