標籤:裝置 signed info 應用 nec 網路連接 禁用 mod pad
android開發之 Wifi的四個類
在Android中對Wifi操作,android本身提供了一些實用的包,在android.net.wifi包以下。簡介一下:
大致能夠分為四個基本的類ScanResult,wifiConfiguration,WifiInfo,WifiManager
(1)ScanResult,通過wifi 硬體掃描來擷取周邊的wifi 熱點。
(2)wifiConfiguration 連通wifi 存取點須要擷取到的資訊。
(3)WifiInfo :
wifi 連通以後。能夠通過此類獲得一些已經連通的wifi 串連的資訊擷取當前連結的資訊,方法::
getBSSID() 擷取BSSID
getDetailedStateOf() 擷取client的連通性
getHiddenSSID() 獲得SSID 是否被隱藏
getIpAddress() 擷取IP 位址
getLinkSpeed() 獲得串連的速度
getMacAddress() 獲得Mac 地址
getRssi() 獲得802.11n 網路的訊號
getSSID() 獲得SSID
getSupplicanState() 返回詳細client狀態的資訊
(4)wifiManager :管理wifi 串連。此類裡面預先定義了很多常量,能夠直接使用,不用再次建立:
String ACTION_PICK_WIFI_NETWORKActivity 動作: 選擇一個WIFI網路連接。
int ERROR_AUTHENTICATING出現一個驗證錯誤問題.
String EXTRA_BSSIDString提供已存取點的BSSID.
String EXTRA_NETWORK_INFO聯合網路資訊.
String EXTRA_NEW_RSSI提供新的RSSI(訊號強度).
String EXTRA_NEW_STATE查看新的請求狀態。
String EXTRA_PREVIOUS_WIFI_STATE當前Wi-Fi的狀態 .
String EXTRA_SUPPLICANT_CONNECTED表示應用背景程式的串連已經獲得或丟失。
String EXTRA_SUPPLICANT_ERROR調用 getIntExtra(String, int)中錯誤發生時產生此錯誤問題.
String EXTRA_WIFI_INFO提供已連上的存取點的資訊。
String EXTRA_WIFI_STATE可用額外的整數型keyword表示Wi-Fi 是否啟用, 禁用,正在啟用,正在禁用,或者未知.
String NETWORK_IDS_CHANGED_ACTION配置的網路標識已被更改。
String NETWORK_STATE_CHANGED_ACTION配置的網路狀態已被更改。.
String RSSI_CHANGED_ACTION RSSI (訊號強度) 發生改變.
String SCAN_RESULTS_AVAILABLE_ACTION存取點掃描完畢,而且結果已經能夠獲得。能夠調用getScanResults()獲得結果.
String SUPPLICANT_CONNECTION_CHANGE_ACTION廣播行為表示串連已經建立或者丟失。
String SUPPLICANT_STATE_CHANGED_ACTION請求一個存取點串連的狀態已經改變。
int WIFI_MODE_FULL在這樣的鎖定模式,Wi-Fi將保持啟用狀態。自己主動嘗試串連範圍內,已經配置的存取點。
同一時候發現未配置的存取點。
int WIFI_MODE_FULL_HIGH_PERF在這樣的鎖定模式,Wi-Fi將保持和WIFI_MODE_FULL同樣的啟用狀態。不同的是在螢幕裝置關閉後也會保持最小丟包和最小延時高功耗串連。因此應盡量不在非必要的情況下使用該模式。
int WIFI_MODE_SCAN_ONLY在這樣的鎖定模式,Wi-Fi將保持啟用狀態。
但僅僅能進行接入範圍內的掃描。而且不會自己主動串連到已經配置的存取點,也不會自己主動進行掃描操作。須要應用明白的出發掃描操作。
String WIFI_STATE_CHANGED_ACTION廣播行為表示。當前Wi-Fi狀態有可能是:已啟用,已禁用,正在啟用,正在禁用。
int WIFI_STATE_DISABLEDWi-Fi 被禁用。
int WIFI_STATE_DISABLINGWi-Fi 開始禁用,假設操作成功,狀態為WIFI_STATE_ENABLED
int WIFI_STATE_ENABLEDWi-Fi 已經被啟用。.
int WIFI_STATE_ENABLINGWi-Fi 開始啟用,假設成功,狀態為WIFI_STATE_ENABLED.
int WIFI_STATE_UNKNOWNWi-Fi 未知狀態。在啟用或禁用過程產生錯誤導致.
方法:
Public Methods
int addNetwork(WifiConfiguration config)
加入一個新網路.
static int calculateSignalLevel(int rssi, int numLevels)
計算訊號等級.
static int compareSignalLevel(int rssiA, int rssiB)
比較A和B的訊號強度.
WifiManager.MulticastLock createMulticastLock(String tag)
建立多點傳送鎖。
WifiManager.WifiLock createWifiLock(int lockType, String tag)
建立一個新的wifi鎖.
WifiManager.WifiLock createWifiLock(String tag)
建立一個新的wifi鎖。以tag標記的參數.
boolean disableNetwork(int netId)
禁用一個以配置好的網路.
boolean disconnect()
取消當前存取點的串連.
boolean enableNetwork(int netId, boolean disableOthers)
同意當前已配置網路可串連.
List<WifiConfiguration> getConfiguredNetworks()
返回全部可配置的網路列表.
WifiInfo getConnectionInfo()
假設有動作,返回當前wifi串連的動態資訊.
DhcpInfo getDhcpInfo()
Return the DHCP-assigned addresses from the last successful DHCP request, if any.
List<ScanResult> getScanResults()
返回掃描出的網路列表.
int getWifiState()
獲得wifi狀態.
boolean isWifiEnabled()
返回wifi可用或不可用.
boolean pingSupplicant()
Check that the supplicant daemon is responding to requests.
boolean reassociate()
(無論是否已串連)又一次串連當前存取點.
boolean reconnect()
假設當前網路連接已丟失,又一次串連當前存取點.
boolean removeNetwork(int netId)
從可配置網路列表中移除.
boolean saveConfiguration()
儲存當前可配置網路列表.
boolean setWifiEnabled(boolean enabled)
啟用或禁用wifi.
boolean startScan()
請求對存取點的掃描.
int updateNetwork(WifiConfiguration config)
更新網路或者結束一個已配置好的網路.
android開發之 Wifi的四個類