Bonjour,
Je rencontre actuellement un problème pour la récupération de la puissance du signal des points d'accès Wifi.
Je ne sais pas pourquoi, mais il me retourne dans tous les cas RSSI = -200 dbm (ce qui me semble être la valeur la plus bas, ainsi que la valeur par défaut)
Voici le code que j'utilise pour récupérer cette information. Tout d'abord je créer mon nouveau WifiManager (dans le OnCreate) et je récupère les infos. Si j'affiche le résultat il me donne
Je force le scan, j'ai ajouté un BroadcastReceiver, mais il passe jamais dedans comme s'il n'y avait pas de changement. J'arrive pas à cerner le problème.SSID: <none>, BSSID: <none>, Supplicant state: INACTIVE, RSSI: -200, ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); wifiManager.startScan(); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); Log.e(TAG, "test : " + wifiInfo); powWifi = wifiInfo.getRssi(); this.registerReceiver(this.mRssiChangeReceiver,new IntentFilter(WifiManager.RSSI_CHANGED_ACTION));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // Niveau de la puissance du Wifi private BroadcastReceiver mRssiChangeReceiver = new BroadcastReceiver(){ public void onReceive(Context arg0, Intent intent) { int RSSI = intent.getIntExtra(WifiManager.EXTRA_NEW_RSSI, 0); Log.i(TAG, "Modification RSSI"); }};
EDIT : Le code était correcte. J'avais fait une erreur ailleurs dans le code ou je stockais des valeurs pour des tests sur les variables RSSI et powWifi.
Partager