4. getIpAddress() 获取IP 地址
5. getLinkSpeed() 获得连接的速度
6. getMacAddress() 获得Mac 地址
7. getRssi() 获得802.11n 网络的信号
8. getSSID() 获得SSID
9. getSupplicanState() 返回具体客户端状态的信息
(四) WifiManager
管理我们的wifi连接,这里已经定义好了一些类,可以供我们使用
(五) 获取WIFI网卡的状态
WIFI网卡的状态是由一系列的整形常量来表示的
- WIFI_STATE_DISABLED : WIFI网卡不可用(1)
- WIFI_STATE_DISABLING : WIFI网卡正在关闭(0)
- WIFI_STATE_ENABLED : WIFI网卡可用(3)
- WIFI_STATE_ENABLING : WIFI网正在打开(2) (WIFI启动需要一段时间)
- WIFI_STATE_UNKNOWN : 未知网卡状态
(六) Wifi权限,无非是网络和Wifi
(七) 常用方法
1.开启WIFI
public void WifiOpen(){
if(!localWifiManager.isWifiEnabled()){
localWifiManager.setWifiEnabled(true);
}
}
2.扫描WIFI信号
public void WifiStartScan(){
localWifiManager.startScan();
}
3.得到扫描WIFI结果
public List getScanResults(){
return localWifiManager.getScanResults();//得到扫描结果
}
4.得到WIFI的配置好的信息,包含配置好的密码
//得到Wifi配置好的信息
public void getConfiguration(){
wifiConfigList = localWifiManager.getConfiguredNetworks();//得到配置好的网络信息
for(int i =0;i<wifiConfigList.size();i++){ Log.i(“getConfiguration”,wifiConfigList.get(i).SSID); Log.i(“getConfiguration”,String.valueOf(wifiConfigList.get(i).networkId));
}
}
5.根据WIFI的名称SSID判定指定WIFI是否已经配置好,配置好则返回其networkId,用于连接。之前尝试了BSSID地址没成功,所以只能使用SSID
//判定指定WIFI是否已经配置好,依据WIFI的地址BSSID,返回NetId
public int IsConfiguration(String SSID){
Log.i(“IsConfiguration”,String.valueOf(wifiConfigList.size()));
for(int i = 0; i < wifiConfigList.size(); i++){
Log.i(wifiConfigList.get(i).SSID,String.valueOf( wifiConfigList.get(i).networkId));
if(wifiConfigList.get(i).SSID.equals(SSID)){//地址相同
return wifiConfigList.get(i).networkId;
}
}
return -1;
}
6.如果需要连接的WIFI没有配置好,即没有保存密码。则为指定名称ssi的WIFI添加密码信息psw,添加成功后返回给其分配的networId,同于连接
//添加指定WIFI的配置信息,原列表不存在此SSID
public int AddWifiConfig(List wifiList,String ssid,Stringpwd){
int wifiId = -1;
for(int i = 0;i < wifiList.size(); i++){
ScanResult wifi = wifiList.get(i);
if(wifi.SSID