Holen Sie sich Android WiFi “ - Netz.hostname" aus dem code
Wenn ein Android-Gerät eine Verbindung zu einem wifi AP, es identifiziert sich mit einem Namen wie:
android_cc1dec12345e6054
Wie kann das string abgerufen werden, der innerhalb einer Android-app? Nicht für den Zweck der änderung ist es, nur zum Auslesen.
EDIT:
Dies ist ein screenshot von meinem router das web-interface zeigt eine Liste aller angeschlossenen Geräte. Beachten Sie die beiden Android-Geräte auf der Liste-Wie kann das string Lesen von Java-code auf dem Gerät laufen?
- Nicht versuchen, den router die SSID -- zu Versuchen, um das android-Gerät Rechnername Zeichenfolge, die es irgendwie an den router.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gebäude aus der @Merlevede Antwort, hier ist eine schnelle und schmutzige Art und Weise, um die Eigenschaft. Es ist eine private API, so dass es geändert werden, aber dieser code noch nicht geändert wurde, seit mindestens Android 1.5, so ist es wahrscheinlich sicher zu bedienen.
setAccessible(true)
)Method
istjava.lang.reflect.Method
und die KlasseBuild
istandroid.os.Build
.Querying the net.hostname system property produces a null result.
- Ref: developer.android.com/preview/behavior-changes.htmlVerwenden Sie die NetworkInterface Objekt auflisten die Schnittstellen und erhalten die kanonischen host-Namen aus den Schnittstellen'
InetAddress
. Da möchte man den WLAN-Namen, als Abkürzung können Sie die Abfrage fürwlan0
direkt und wenn Sie das nicht können, alle aufzuzählen wie diese:Geben Sie eine Ausgabe wie diese:
Tipp: wenn
InetAddress.getCanonicalHostName().equals(InetAddress.getHostAddress())
man kann es ignorieren, da es nicht ein "echter" name.Ich weiß nicht, ob das hilft, aber hier gehe ich.
Aus einer unix-shell (Sie können download jede Terminal-app in Google Play), können Sie den hostname durch Eingabe
Natürlich ist dies nicht das, was Sie wollen... aber... auf der anderen Seite, hier Informationen, wie zum ausführen eines unix-Kommandos aus java. Vielleicht durch die Kombination dieser beiden, die Sie bekommen, was Sie suchen.
Für
java
:können Sie die Eigenschaft von unten:
Ich verwendet jiangze ren ' s Antwort und es geändert.
Jetzt können Sie Hostnamen immer die IP-Adresse des Geräts:
Versuchen Sie dies:
Error
können Sie folgenden code verwenden:
Und tatsächlich ist, können Sie mehr info über diese Funktion.
wie...
andere Geräte-Hostnamen, die sind im gleichen Netzwerk.
localhost
zu.