android下为自己定义wifimanager类

来源:互联网 发布:dmp文件如何导入数据库 编辑:程序博客网 时间:2024/05/16 23:01

package com.FIDO.wifi;import java.util.List;import android.content.Context;import android.net.wifi.ScanResult;import android.net.wifi.WifiConfiguration;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.net.wifi.WifiManager.WifiLock;public class wifiManager {private WifiManager wifiManager;  //wifi 管理private WifiInfo wifiInfo;   //wifi 信息private List<ScanResult>scanResultList; //扫描出来的网络列表private List<WifiConfiguration>wifiConfigList;//网络配置列表private WifiLock wifiLock;    //wifi锁//获取连接信息public wifiManager(Context context){//获取当前wifi服务this.wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);this.wifiInfo = wifiManager.getConnectionInfo();}//得到连接信息public boolean getWifiStatus(){    return wifiManager.isWifiEnabled();}//打开 / 关闭wifipublic boolean openWifi(){    if(!wifiManager.isWifiEnabled()){return wifiManager.setWifiEnabled(true);}else{return false;}}public boolean closeWifi(){    if(!wifiManager.isWifiEnabled()){return true;}else{return wifiManager.setWifiEnabled(false);}}// 其实锁定WiFI就是判断wifi是否建立成功,在这里使用的是held,握手的意思acquire 得到public void lockWifi(){  wifiLock.acquire();}public void unLockWifi(){  if(!wifiLock.isHeld()){   wifiLock.release();  }}// 创建wifi锁,考虑到不是每次都会使用Wifi锁,所以干脆自己建立一个方法!需要时调用,建立就OKpublic void createWifiLock(){  wifiLock = wifiManager.createWifiLock("hanzhen");}//扫描网络public void startScan(){  wifiManager.startScan();  scanResultList = wifiManager.getScanResults();   //扫描 返回结果列表  wifiConfigList = wifiManager.getConfiguredNetworks(); //扫描 配置列表 }public List<ScanResult>getWifiList(){  return scanResultList;}public List<WifiConfiguration>getWifiConfigList(){  return wifiConfigList;}//获取扫描列表public StringBuilder lookUpscan(){StringBuilder scanBuilder = new StringBuilder();for(int i=0; i<scanResultList.size(); i++){scanBuilder.append("编号:"+(i+1));scanBuilder.append(scanResultList.get(i).toString());scanBuilder.append("\n");}return scanBuilder;}//获取指定信号的强度public int getLevel(int NetId){return scanResultList.get(NetId).level;}//获取本机MAC地址public String getMac(){return (wifiInfo == null) ? "" : wifiInfo.getMacAddress();}public String getBSSID(){return (wifiInfo == null) ? null : wifiInfo.getBSSID();}public String getSSID(){return (wifiInfo == null) ? null : wifiInfo.getSSID();}//返回当前连接的网络IDpublic int getCurrentNetId(){return (wifiInfo == null) ? null : wifiInfo.getNetworkId();}//返回所有信息public String getwifiInfo(){return (wifiInfo == null) ? null : wifiInfo.toString();}//返回IP 地址private String intToIp(int i){return (i&0xff)+"."+((i>>8)&0xff)+"."+((i>>16)&0xff)+"."+((i>>24)&0xff);}public String getIp(){return (wifiInfo == null) ? null : intToIp(wifiInfo.getIpAddress());} //添加一个连接public boolean addNetWorkLink(WifiConfiguration config){int NetId = wifiManager.addNetwork(config);return wifiManager.enableNetwork(NetId, true);}//禁用一个连接public boolean disableNetWorkLink(int NetId){wifiManager.disableNetwork(NetId);return wifiManager.disconnect();}//移除一个连接public boolean removeNetWorkLink(int NetId){return wifiManager.removeNetwork(NetId);}//不显示SSIDpublic void hiddenSSID(int NetId){wifiConfigList.get(NetId).hiddenSSID = true;}//显示SSIDpublic void displaySSID(int NetId){wifiConfigList.get(NetId).hiddenSSID = false;}}


----------------------------------------------------------

根据个人情况可加入log查验错误。

*******************************************************************************

13-3-29  飞扬小米(记)

原创粉丝点击