首页 > 代码库 > 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。