Obtenir SSID lorsque le WIFI est connecté

Je vais essayer d'obtenir le SSID du réseau WIFI quand mon appareil android est connecté au WIFI.

J'ai enregistré un BroadcastReceiver écoute pour android.net.wifi.supplicant.CONNECTION_CHANGE . Je reçois la notification lorsque le WIFI est déconnecté ou reconnecté. Malheureusement, je ne peux pas obtenir le SSID du réseau.

J'utilise le code suivant pour trouver le SSID:

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

Au lieu de le SSID, je reçois la chaîne <inconnu ssid> dos.

Ce sont les autorisations dans le manifeste (j'ai ajouté ACCESS_NETWORK_STATE juste pour vérifier, je n'ai pas vraiment besoin)

<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"/>

Pourquoi cela se produit? Comment puis-je obtenir le SSID? Est la diffusion tiré au début, avant que la connexion est établie? Est-il une autre émission que je devrais écouter? Je suis seulement intéressé dans les connexions WIFI, pas de 3G.

Mise à jour: je viens de vérifier, wifiInfo.getBSSID() renvoie la valeur null.

  • Intéressant, les docs de l'état, vous devriez recevoir null de getSSID() si la connexion n'est pas disponible, donc je ne pense pas que c'est un problème de connexion. Je me demandais, qu'est-ce que le SSID du réseau auquel vous faites des tests sur?
  • Qu'est-ce que l'état détaillé et suplicant état?
  • S, consulter le lien que j'ai fourni dans la question, <inconnu ssid> est Android 4.2 comportement et éventuellement des versions plus récentes ainsi. C'est un Android bug.
  • Merci pour la clarification.
  • Essayez cette SORTE de réponse. stackoverflow.com/questions/49977395/...
InformationsquelleAutor zmbq | 2014-01-27