Comment obtenir l'intensité de signal connecté WiFi android?
Je veux obtenir la force du signal de la présente wifi qui est connecté avec mon appareil. C'est probablement facile. Mais je suis débutant. Et Il à faire leurs devoirs. Comment l'obtenir?
J'ai essayé ce code. Mais ça ne fonctionne pas.
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
final WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
int state = wifi.getWifiState();
if(state == WifiManager.WIFI_STATE_ENABLED) {
List<ScanResult> results = wifi.getScanResults();
for (ScanResult result : results) {
if(result.BSSID.equals(wifi.getConnectionInfo().getBSSID())) {
int level = WifiManager.calculateSignalLevel(wifi.getConnectionInfo().getRssi(),
result.level);
int difference = level * 100 / result.level;
int signalStrangth= 0;
if(difference >= 100)
signalStrangth = 4;
else if(difference >= 75)
signalStrangth = 3;
else if(difference >= 50)
signalStrangth = 2;
else if(difference >= 25)
signalStrangth = 1;
tv.setText(tv.getText() + "\nDifference :" + difference + " signal state:" + signalStrangth);
}
}
}
}
}, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION));
J'ai aussi essayé ce code. Mais ce n'est pas trop de travail.
int numberOfLevels = 5;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int level = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numberOfLevels);
Comment expliquer ce "ça ne fonctionne pas" signifie exactement? Astuce: post LogCat avec erreur(s).
dropbox.com/s/7sabuxgcnt5c6lu/log.txt
dropbox.com/s/7sabuxgcnt5c6lu/log.txt
OriginalL'auteur Emrah Şentürk | 2013-09-16
Vous devez vous connecter pour publier un commentaire.
Espère que ça fonctionne..
OriginalL'auteur user3135727
OriginalL'auteur AaNas KHan