Erhalten Sie SSID wenn WIFI verbunden ist

Ich versuche, die SSID des WLAN-Netzwerk, wenn mein android-Gerät ist WIFI-Verbindung.

Habe ich registriert einen BroadcastReceiver hören für android.net.wifi.supplicant.CONNECTION_CHANGE . Ich bekomme die Benachrichtigung, wenn WIFI getrennt oder wieder angeschlossen werden. Leider komme ich nicht an die Netzwerk-SSID.

Ich bin mit dem folgenden code zu finden, der SSID:

WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();

Statt der SSID, bekomme ich den string <unbekannt ssid> zurück.

Diese sind die Berechtigungen in der Manifestdatei (die ich Hinzugefügt habe, ACCESS_NETWORK_STATE, nur um zu überprüfen, die ich gar nicht brauche)

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

Warum geschieht dies? Wie kann ich die tatsächliche SSID? Ist die Sendung gefeuert zu früh, bevor die Verbindung hergestellt wird? Gibt es eine andere Sendung, die ich hören sollte? Ich bin nur daran interessiert, WIFI-verbindungen, nicht 3G-verbindungen.

Update: ich habe gerade überprüft, wifiInfo.getBSSID() null zurück.

InformationsquelleAutor der Frage zmbq | 2014-01-27

Schreibe einen Kommentar