首页 > 代码库 > WifiManager

WifiManager

 

 

提供wifi管理的各种主要API,主要包含wifi的扫描,建立连接,配置等

 

 

获取WifiManager

WifiManager wm = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);

设置wifi功能开启

bRet = wifiManager.isWifiEnabled();//判断是否开启

bRet = wifiManager.setWifiEnabled(true);//设置开启关闭

注意,调用setWifiEnabled后,系统进行wifi模块的开启需要一定时间,此时通过wifiManager.getWifiState()获取的状态来判断是否完成。

 

WifiManager.WIFI_STATE_DISABLED : WIFI网卡不可用(1)

WifiManager.WIFI_STATE_DISABLING : WIFI网卡正在关闭(0)

WifiManager.WIFI_STATE_ENABLED : WIFI网卡可用(3)

WifiManager.WIFI_STATE_ENABLING : WIFI网正在打开(2) (WIFI启动需要一段时间)

WifiManager.WIFI_STATE_UNKNOWN  : 未知网卡状态

 

while (wifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLING) {                            try {                                     Thread.currentThread();                                     Thread.sleep(100);                            } catch (InterruptedException ie) {                            }                   }

 

由于WiFiManager的打开(mWiFiManager.setWifiEnabled(true)),在运行的打开WiFi过程中,会经过以下顺序

 

 

 


 

 

 

扫描附近接入点AP

List<ScanResult> list = null;if ( wifiManager.startScan())list = wifiManager.getScanResults();



关闭Wifi连接

wifiManager.disableNetwork(existingConfig.networkId);

 

移除Wifi连接配置

wifiManager.removeNetwork(networkId);

注意与上面的disableNetwork的区别。Disable只是单纯的断开连接,保存的ssid和密码并不清除。

Remove则是从手机中移除(忘记)该连接配置,用来清除保存的密码

在网络正常连接的状态,也可直接调用remove来代替disable中断网络,但会清除密码信息。



WifiManager