Wenn ein Android-Gerät eine Verbindung zu einem WLAN-Zugangspunkt herstellt, identifiziert es sich mit einem Namen wie:
android_cc1dec12345e6054
Wie kann diese Zeichenfolge in einer Android App abgerufen werden? Nicht zum Zwecke der Änderung, nur zum Auslesen.
BEARBEITEN:
Dies ist ein Screenshot der Weboberfläche meines Routers, der eine Liste aller angeschlossenen Geräte anzeigt. Notieren Sie die zwei Android-Geräte in der Liste - Wie kann diese Zeichenfolge aus Java-Code gelesen werden, der auf dem Gerät ausgeführt wird?
Aufbauend auf @ Merlevede's Antwort, hier ist eine schnelle und schmutzige Art, die Immobilie zu bekommen. Es ist eine private API, daher kann es Änderungen geben, aber dieser Code wurde seit mindestens Android 1.5 nicht geändert, also ist es wahrscheinlich sicher zu verwenden.
%Vor% Verwenden Sie das NetworkInterface -Objekt, um die Schnittstellen aufzulisten und den kanonischen Hostnamen von den Schnittstellen abzurufen ' InetAddress
. Da Sie den WLAN-Namen möchten, können Sie als Verknüpfung direkt wlan0
abfragen, und wenn das fehlschlägt, können Sie sie alle wie folgt aufzählen:
Das gibt Ihnen eine Ausgabe wie folgt:
%Vor% Tipp: Wenn InetAddress.getCanonicalHostName().equals(InetAddress.getHostAddress())
Sie können es ignorieren, da es kein "echter" Name ist.
Ich weiß nicht, ob das hilft, aber hier gehe ich.
Aus einer Unix-Shell (Sie können eine beliebige Terminal-App in Google Play herunterladen) können Sie den Hostnamen abrufen, indem Sie
eingeben %Vor%Natürlich ist das nicht das, was Sie wollen ... aber ... hier gibt Informationen darüber, wie man einen Unix-Befehl von Java aus ausführt. Vielleicht, wenn Sie diese beiden kombinieren, bekommen Sie das, wonach Sie suchen.
Sie können den folgenden Code verwenden:
%Vor%Und eigentlich können Sie mehr Informationen mit dieser Funktion verwenden. sowie... Host-Namen anderer Geräte, die sich im selben Netzwerk befinden.
Tags und Links android android-wifi