2012-11-24 15 views
5

Sto cercando di creare una semplice app che mi indichi i valori rssi delle 5 reti wifi più forti. Non ho bisogno di connettermi a nessuna delle reti, voglio solo sapere le rssi. Al momento sto utilizzando il seguente frammento di codice:Android, che elenca i valori rssi per le 5 reti wifi più forti

wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
int info = wifi.getConnectionInfo().getRssi(); 
textStatus.setText("WiFi Rssi: " + info); 

Tuttavia, questo mostra solo il valore RSSI della rete mi sono collegato a.

C'è un modo per ottenere queste informazioni per altre reti?

risposta

5

Penso che ho avuto è:

ScanResult result0 = wifi.getScanResults().get(0); 
String ssid0 = result0.SSID; 
int rssi0 = result0.level; 
String rssiString0 = String.valueOf(rssi0); 
textStatus.append("\n" + ssid0 + " " + rssiString0); 

quindi ottenere (1), ottenere (2) e così via per tuttavia molti ti piace

+1

con la proprietà di livello si riceve il dbm non il RSSI .. – Antonio

+1

La proprietà level è il RSSI, che, in base alla documentazione, viene misurato in dBm. ([docs] (http://developer.android.com/reference/android/net/wifi/ScanResult.html#level)) – AI0867

+0

bel lavoro! Grazie per questo. –

Problemi correlati