Android Wifi开发之WifiConfiguration
最近在寫一個和Wifi有關的程序,原來的意圖是想去拿到手機當前WIFI連接下的密碼。如果是對于有Root過的手機,我們可以從路徑:/data/data/com.android.settings/databases/wifi_settings.db拿到wifi_settings.db這樣的一個數據庫文件。這個數據庫文件的確比較好,不過是對于開發或是盜密碼的人來說,而對于那些有條件才能公開Wifi密碼的人來說,這是一個令人頭疼的事了。雖然,我們可以從這個數據庫文件拿到我們手機曾經連過的Wifi相關信息,不過美中不足的是,有很多手機里,其實是沒有這樣的一個數據庫文件的。這個我也不知道是為什么。不過好在,還有另一個配置文件/data/misc/wifi/wpa_supplicant.conf中也有相關的信息。配置文件中相關內容如下:
network={?
ssid="CMCC" //網絡名稱?
psk="12345678" //這個是密碼?
key_mgmt=WPA-PSK //加密方式?
}
不過這些美好的事情都有一個共同的前提:ROOT!
下面我來簡單介紹一下關于WIFI的WifiConfiguration類。api中是這樣介紹這個類的:
A class representing a configured Wi-Fi network, including the security configuration. Android will not necessarily support all of these security schemes initially.
——這是一個代表已配置的Wi-Fi網絡的類,也包括安全配置。 Android將不一定支持所有的這些最初的保障計劃。
所以,這個類就是包含了一些已經配置好的WI-FI網絡,如當前正在連接的WI-FI網絡信息。
獲取方式:
WifiInfo info = wifiManager.getConnectionInfo(); getBSSID() 獲取BSSID屬性
getDetailedStateOf() 獲取客戶端的連通性
getHiddenSSID() 獲取SSID 是否被隱藏
getIpAddress() 獲取IP 地址
getLinkSpeed() 獲取連接的速度
getMacAddress() 獲取Mac 地址
getRssi() 獲取802.11n 網絡的信號
getSSID() 獲取SSID
getSupplicanState() 獲取具體客戶端狀態的信息
運行示例圖:
資源參考:android wifi講解 wifi列表顯示
源碼Demo參考:Android下的WIFI開發
總結
以上是生活随笔為你收集整理的Android Wifi开发之WifiConfiguration的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android中使用Handler和异步
- 下一篇: android sina oauth2.