二、WIFI有哪些状态?
在Android的官方文档中定义了以下五种状态:网络
-
- WIFI_STATE_DISABLED WIFI网卡不可用
- WIFI_STATE_DISABLING WIFI网卡正在关闭
- WIFI_STATE_ENABLED WIFI网卡可用
- WIFI_STATE_ENABLING WIFI网卡正在打开
- WIFI_STATE_UNKNOWN WIFI网卡状态不可知
三、如何操做WIFI?
要操做WIFI设备,就须要使用Context.getSystemService(Context.WIFI_SERVICE)来获取WifiManager对象,并经过这个对象来管理咱们的WIFI设备。
性能
-
- addNetwork(WifiConfiguration config) 添加一个config描述的WIFI网络,默认状况下,这个WIFI网络是DISABLE状态的。
- calculateSignalLevel(int rssi , int numLevels) 计算信号的等级
- compareSignalLevel(int rssiA, int rssiB) 对比网络A和网络B的信号强度
- createWifiLock(int lockType, String tag) 建立一个WIFI 锁,锁定当前的WIFI链接
- disableNetwork(int netId) 让一个网络链接失效
- disconnect() 断开当前的WIFI链接
- enableNetwork(int netId, Boolean disableOthers) 链接netId所指的WIFI网络,并是其余的网络都被禁用
- getConfiguredNetworks() 获取网络链接的状态
- getConnectionInfo() 获取当前链接的信息
- getDhcpInfo() 获取DHCP 的信息
- getScanResulats() 获取扫描测试的结果
- getWifiState() 获取当前WIFI设备的状态
- isWifiEnabled() 判断WIFI设备是否打开
- pingSupplicant() ping操做,和PC的ping操做相同做用
- ressociate() 从新链接WIFI网络,即便该网络是已经被链接上的
- reconnect() 从新链接一个未链接上的WIFI网络
- removeNetwork() 移除某一个网络
- saveConfiguration() 保留一个配置信息
- setWifiEnabled() 让一个链接有效
- startScan() 开始扫描
- updateNetwork(WifiConfiguration config) 更新一个网络链接
四、如何获得周围的WIFI热点列表?
若是要想获得周围的WIFI热点列表,可使用WifiManager.getScanResults()返回一个ScanResult列表,ScanResult对象中,包含了如下几个属性:测试
-
- BSSID 接入点的地址
- SSID 网络的名字,惟一区别WIFI网络的名字
- Capabilities 网络接入的性能
- Frequency 当前WIFI设备附近热点的频率(MHz)
- Level 所发现的WIFI网络信号强度
五、如何链接上个人WIFI?spa
没什么好解释的,能够直接看上面的代码段。code
六、如何查看已经链接上的WIFI信息?
在Android的SDK中为咱们提供了一个叫作WifiInfo的对象,这个对象能够经过WifiManager.getConnectionInfo()来获取。WifiInfo中包含了当前链接中的相关信息。对象
-
-
- getBSSID() 获取BSSID属性
- getDetailedStateOf() 获取客户端的连通性
- getHiddenSSID() 获取SSID 是否被隐藏
- getIpAddress() 获取IP 地址
- getLinkSpeed() 获取链接的速度
- getMacAddress() 获取Mac 地址
- getRssi() 获取802.11n 网络的信号
- getSSID() 获取SSID
- getSupplicanState() 获取具体客户端状态的信息