J'essaye d'utiliser le Wifimanager pour calculer le niveau de signal des points d'accès trouvés pendant un balayage.Problème avec WifiManager.calculateSignalLevel (RSSI, 5)
J'utilise la méthode suivante:
WifiManager.calculateSignalLevel(int, int)
Mais il semble revenir toujours le même entier quel que soit le niveau RSSI est.
Voici mon code:
public int calculateQoS(int aRSSI){
signalLevel = WifiManager.calculateSignalLevel(RSSI, 5);
return signalLevel;
}
public void testCalculateQoS(){
Log.d("signal", "signal = : "
+ connMonitor.calculateQoS(-44)
+ " " + connMonitor.calculateQoS(-80)
+ " " + connMonitor.calculateQoS(-120)
+ " " + connMonitor.calculateQoS(-20));
}
Les sorties de journalisation 1 pour tous les cas de test pour calculateQoS (int).
Ai-je manqué quelque chose de simple ici? Pourquoi le SignalLevel est toujours 1?
Merci pour cette réponse et surtout pour le code de la mise en œuvre. Selon le problème des références (qui est toujours ouvert comme aujourd'hui), toutes les valeurs de numLevels supérieures à 45 entraînent une division par zéro. – Ridcully