2012-11-24 36 views
5

我試圖做一個簡單的應用程序,告訴我5個最強的wifi網絡的rssi值。我不需要連接到任何網絡,只想知道rssi的。目前我使用下面的代碼位:Android,列出5個最強wifi網絡的rssi值

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

然而,這只是顯示我連接到網絡上的RSSI值。

有沒有其他網絡獲取此信息的方法?

回答

5

我想我明白了:

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

然後得到(1),得到(2)等爲然而,許多你喜歡

+1

與級別屬性,您收到DBM不是RSSI .. 。 – Antonio

+1

level屬性是RSSI,根據文檔,它是以dBm爲單位測量的。 ([docs](http://developer.android.com/reference/android/net/wifi/ScanResult.html#level)) – AI0867

+0

不錯的工作!謝謝你。 –