IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

WifiManager : RSSI = -200


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 40
    Points : 28
    Points
    28
    Par défaut WifiManager : RSSI = -200
    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

    SSID: <none>, BSSID: <none>, Supplicant state: INACTIVE, RSSI: -200, ...
    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.

    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.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Points : 124
    Points
    124
    Par défaut
    Tout simplement l'intent WifiManager.RSSI_CHANGED_ACTION s'applique en cas où le RSSI change mais on ne sait pas quand et peut être il ne changera pas en fonction de la position où vous êtes actuellement.

    l'intent a utilisé dans votre cas est :

    WifiManager.SCAN_RESULTS_AVAILABLE_ACTION

    Puisque vous effectuer un scan de tous les réseaux distants Wifi et donc si il y a des résultats disponible alors on passe dans la méthode onReceive sinon on ne fait rien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SQLserveur-2000 Sauvegarde 10 Tables sur 200 ?
    Par troxsa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/09/2005, 10h04
  2. création d'utilisateur et Connexion sur SQL Server 200
    Par da_latifa dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/07/2005, 11h26
  3. Erreur incompréhensible à la ligne 200 (sur 190 ?!)
    Par transistor49 dans le forum Qt
    Réponses: 3
    Dernier message: 22/03/2005, 23h09
  4. [TP] Erreur 200 avec TPCRT/turboPower
    Par Cap10 dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 01/12/2004, 20h25
  5. Raccourcis menu Windows 200
    Par pp dans le forum Composants VCL
    Réponses: 6
    Dernier message: 12/09/2002, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo