2012-11-24 16 views
5

Ben 5 en güçlü wifi ağlarının rssi değerlerini söyleyen basit bir uygulama yapmaya çalışıyorum. Herhangi bir ağa bağlanmak zorunda değilim, sadece rssi'yi bilmek istiyorum. Şu anda aşağıdaki kod bit kullanıyorum:Android, 5 en güçlü wifi ağları için rssi değerleri listeleniyor

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

Ancak, bu yalnızca ben bağlandım ağın rssi değerini gösterir.

Bu bilgileri diğer ağlar için almanın bir yolu var mı?

cevap

5

Anladım düşünüyorum:

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

sonra (1), böylece ancak birçok (2) almak ve size dbm değil RSSI alma seviyesi özelliğiyle

+1

gibi olsun .. – Antonio

+1

Düzey özellik, belgelere göre dBm cinsinden ölçülen RSSI'dir. ([docs] (http://developer.android.com/reference/android/net/wifi/ScanResult.html#level) – AI0867

+0

güzel iş! Bunun için teşekkürler. –