Wifi 状态的变化的监听
Wifi状态的变化可以通过广播来监听 private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(action.equals(WifiManager.WIFI_STATE_CHANGED_ACTION)){
int s = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN);
//wifi的状态变化会触发这个广播
//s的值对应上面的wifi状态常量,可以根据不同的状态值来更新界面
}
}
};
链接wifi //netId 可以通过添加一个WifiConfiguration获得
int netId = mWifiManager.addNetwork(config);
boolean b = mWifiManager.enableNetwork(netId, true);
添加WifiConfiguration //ssid : wifi 的名称,pwd: wifi的密码 ,type: 加密方式 0:没有加密 1:wep 2: wap public WifiConfiguration createWifiInfo(String ssid,String pwd,int type){
log.e("create wifif ssid: "+ssid+" pwd: "+pwd+" type "+type);
WifiConfiguration cfg = new WifiConfiguration();
WifiConfiguration tempConfig = this.isExist(ssid);
if(tempConfig != null) {
mWifiManger.removeNetwork(tempConfig.networkId);
}
cfg.SSID = "\"" + ssid + "\"";
if( !TextUtils.isEmpty(pwd)) {
if(type == 0){
cfg.wepKeys[0] = "";
cfg.allowedKeyManagement.set(0);
cfg.wepTxKeyIndex = 0;
}else if( type == 1 ) {
cfg.wepKeys[0] = "\"" + pwd + "\"";
cfg.wepTxKeyIndex = 0;
}else {
cfg.preSharedKey = "\"" + pwd + "\"";
}
}
return cfg;
}
wifi断开连接 mWifiManager.disableNetwork(netId);
删除已经保存的wifi boolean r = mWifiManager.removeNetwork(netId);