2011-06-16 17 views
6

Özellikle GSM'den WIFI'ye bağlantı değişiklikleri için dinleyici dinliyorum. Artık WIFI'ların hangi WIFI'lara bağlandığını, özellikle WIFI'ın şifreleme tipini (WEP, WPA, WPA2, ...) şifrelemek istiyorum.Android: Mevcut Wifi şifrelemesi nasıl alınır?

Dinleyici mükemmel çalışıyor, ancak geçerli WIFi'nin şifreleme türünü elde etmenin bir yolunu bulamıyorum.

Yardımlarınız için teşekkürler.

cevap

7

Geçerli bağlantının ayrıntılarını öğrenmek için WifiManager kullanın ve daha fazla bilgi vermeniz gereken bir WifiConfiguration edinin.

WifiManager wifiManager= (WifiManager) getSystemService(Context.WIFI_SERVICE); 
WifiInfo wi = WifiManager.getConnectionInfo(); 
if(wi != null) 
{ 
    WifiConfiguration activeConfig = null; 
    for(WifiConfiguration conn : wifiManager.getConfiguredNetworks()) 
    { 
     if(conn.status == WifiConfiguration.Status.CURRENT) 
     { 
      activeConfig = conn; 
      break; 
     } 
    } 
    if(activeConfig != null) 
    { 
     // Analyse encryption of connected network here. 
    } 
} 
+0

Teşekkürler! Bunu buldum, ancak WifiConfiguration elde etmek için tek yolu bir liste döndüren WindowManager.getConfiguredNetworks() gibi görünüyor. Şimdiki Wifi i.e.'yi BSSID üzerinden alabilir miyim, yoksa şu anda bağlı olan Network her zaman listede ilk olanı mı? – Tobi

+3

Yardımlarınız için teşekkürler, Mark. WifiConfiguration.status bayrağı üzerinden mevcut wifi almak için başka bir yol buldum. Bu eşittir WifiConfiguration.Status.CURRENT – Tobi

+0

Güzel bulmak! Bunun farkında değildim. Kodu biraz daha verimli hale getirmelidir. Yardımcı bulduysanız lütfen cevabı "kabul edin". –