6
我有一位傾聽者正在監聽連接變化,特別是從GSM到WIFI。 現在我想記錄用戶連接的WIFI,特別是WIFI的加密類型(無,WEP,WPA,WPA2,...)。Android:如何獲得當前的Wifi加密?
聽者完美地工作,但我找不到任何方式獲得當前Wifi的加密類型。
感謝您的幫助。
我有一位傾聽者正在監聽連接變化,特別是從GSM到WIFI。 現在我想記錄用戶連接的WIFI,特別是WIFI的加密類型(無,WEP,WPA,WPA2,...)。Android:如何獲得當前的Wifi加密?
聽者完美地工作,但我找不到任何方式獲得當前Wifi的加密類型。
感謝您的幫助。
使用WifiManager獲取當前連接的詳細信息,然後獲得一個WifiConfiguration應該給你進一步的信息。
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.
}
}
謝謝!我發現,但似乎獲得WifiConfiguration的唯一方法似乎是WindowManager.getConfiguredNetworks(),它返回一個List。我現在可以通過BSSID獲得當前的Wifi,或者當前連接的網絡始終是列表中的第一個? –
Tobi
2011-06-16 13:10:12
謝謝你的幫助,馬克。我只是通過WifiConfiguration.status標誌找到了另一種獲取當前wifi的方法。這必須等於WifiConfiguration.Status.CURRENT – Tobi 2011-06-16 13:17:20
好找!我沒有意識到這一點。它應該使代碼略微更高效。如果您發現它有幫助,請「接受」答案。 – 2011-06-16 13:20:37