2014-06-05 1 views
1

Je souhaite obtenir la puissance du signal du réseau WiFi auquel je suis connecté, au fur et à mesure de sa modification. Ceci est mon récepteur de radiodiffusionAndroid Obtenir la force du signal WiFi en cours de modification

 registerReceiver(new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      int info = Wifi.getConnectionInfo().getRssi(); 
      textStatus.append("\n\n : " + Integer.toString(info)); 
     } 
    }, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION)); 

Je reçois seulement une fois. Comment l'obtenir quand il change?

+0

http://stackoverflow.com/questions/11389492/get-wifi-signal-strength -of-connected-network –

+0

Je l'ai déjà vu, ça ne donne pas la force car ça change – user327194

Répondre

1

Mise à jour: à partir de tests dans Android 4.4 et 5.0, l'intervalle entre les balayages WiFi séquentiels semble être inférieur à une seconde. Vous pouvez jeter un oeil à ma démo pour les mesures RF en utilisant un appareil Android, ici:

https://github.com/panosvas/Measurements

où vous pouvez trouver une implémentation de mesures WiFi un après l'autre. J'ai aussi créé un serveur pour stocker ces mesures ainsi qu'une application de déclenchement à distance en utilisant des paquets UDP où vous pouvez trouver ici:

https://github.com/panosvas/IndoorPositioningServer

En fait, vous ne pouvez pas prendre le RSSI à chaque fois que cela change car il est possible que la valeur de RSSI change dans une période de mseconds ou même plus rapidement et chaque mesure de wifi dans Android prend approximativement 5 secondes selon également l'appareil.

Alors, que vous conseiller mes réponses dans les postes suivants pour que:

Wifi Scanner which scans 20 times

How to update wifi RSSI values without a click button

Questions connexes