Wifi 连接部分
当用户选择一个AP时会弹出一个AP参数配置对话框,此对话框会显示当前选择的AP信号强度,若此AP设置了密码则需要用户输入密码才能登录。WifiSettings中的onPreferenceTreeClick会被调用@Override
publicbooleanonPreferenceTreeClick(PreferenceScreenscreen,Preferencepreference){
//点击AP响应函数
if(preferenceinstanceofAccessPoint){
mSelected=(AccessPoint)preference;
showDialog(mSelected,false);
}elseif(preference==mAddNetwork){
mSelected=null;
showDialog(null,true);
}elseif(preference==mNotifyOpenNetworks){
Secure.putInt(getContentResolver(),
Secure.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON,
mNotifyOpenNetworks.isChecked()?1:0);
}else{
returnsuper.onPreferenceTreeClick(screen,preference);
}
returntrue;
}
用户配置好之后点击连接按钮,onClick函数会被调用。
publicvoidonClick(DialogInterfacedialogInterface,intbutton){
//点击连接按钮的响应函数
if(button==WifiDialog.BUTTON_FORGET&&mSelected!=null){
forget(mSelected.networkId);
}elseif(button==WifiDialog.BUTTON_SUBMIT&&mDialog!=null){
WifiConfigurationconfig=mDialog.getConfig();
if(config==null){
if(mSelected!=null&&!requireKeyStore(mSelected.getConfig())){
connect(mSelected.networkId);
}
}elseif(config.networkId!=-1){
if(mSelected!=null){
mWifiManager.updateNetwork(config);
saveNetworks();
}
}else{
intnetworkId=mWifiManager.addNetwork(config);
if(networkId!=-1){
mWifiManager.enableNetwork(networkId,false);
config.networkId&#