接口简介
因为项目需要,所以完成了一个简单的wifi模块,主要实现了打开wifi、获取网络列表、连接有密码或者无密码的网络等等,android为wifi操作提供了很多接口,在此简单总结一下所用的类和代码中使用的主要的方法(英语渣渣自己翻译的API,凑合看看吧)。
1、 ScanResult
主要用来描述已检测出来的接入点。
变量名 | 简介 |
---|---|
BSSID | 接入点地址 |
SSID | 网络名称 |
capabilties | 通过接入点描述身份鉴定、密钥管理及加密方案 |
frequency | 客户端与此接入点通信的频率 |
level | 信号强度 |
timestamp | 时间同步功能 |
方法名 | 返回值 | 简介 |
---|---|---|
toString() | String | 将其返回一个String类型的值 |
2、WifiInfo
连接的wifi信息描述。
方法名 | 返回值 | 简介 |
---|---|---|
getBSSID() | String | 得到当前接入点的地址 |
getSSID() | String | 获得当前接入点名称 |
getNerworkId() | int | 获得已配制好的网络的ID |
3、WifiConfiguration
代表配置好的wifi,包括安全验证。
wifi有三种安全模式:无密码、WEP和WPA三种(简单了解可达链接 wifi三种安全模式),设置均不一样,具体在代码中createWifiInfo方法实现。
变量名 | 简介 |
---|---|
SSID | 网络名 |
networkId | 配置好的网络的ID |
allowedAuthAlgorithms | 该配置的身份鉴定协议集 |
allowedGroupCiphers | 该配置的组群密钥 |
allowedKeyManagement | 该配置的密钥管理协议集 |
allowedPairwiseCiphers | 该配置的WPA成对密码集 |
allowedProtocols | 该配置的安全协议集 |
hiddenSSID | 是否隐藏SSID |
preShareKey | WPA加密时,保存密码的变量 |
status | 网络配置的当前状态 |
wepKeys | String[]类型,最多保存4个WEP密钥 |
wepTxKeyIndex | WEP密钥索引 |
3、WifiManage
方法名 | 返回值 | 简介 |
---|---|---|
getConnectionInfo() | WifiInfo | 得到当前连接的Wifi信息 |
addNetwork(WifiConfiguration config) | int | 增加一个已配置好的网络config,返回-1则是失败 |
startScan() | boolean | 提出扫描接入点请求 |
ge |