现在的位置: 首页 > 综合 > 正文

wifi 管理

2013年08月29日 ⁄ 综合 ⁄ 共 4161字 ⁄ 字号 评论关闭
  1. import java.util.List;    
  2. import android.content.Context;    
  3. import android.net.wifi.ScanResult;    
  4. import android.net.wifi.WifiConfiguration;    
  5. import android.net.wifi.WifiInfo;    
  6. import android.net.wifi.WifiManager;    
  7. import android.net.wifi.WifiManager.WifiLock;    
  8. public class WifiAdmin    
  9. {    
  10.     //定义WifiManager对象    
  11.     private WifiManager mWifiManager;    
  12.     //定义WifiInfo对象    
  13.     private WifiInfo mWifiInfo;    
  14.     //扫描出的网络连接列表    
  15.     private List<ScanResult> mWifiList;    
  16.     //网络连接列表    
  17.     private List<WifiConfiguration> mWifiConfiguration;    
  18.     //定义一个WifiLock    
  19.     WifiLock mWifiLock;    
  20.     //构造器    
  21.     public  WifiAdmin(Context context)    
  22.     {    
  23.         //取得WifiManager对象    
  24.         mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);    
  25.         //取得WifiInfo对象    
  26.         mWifiInfo = mWifiManager.getConnectionInfo();    
  27.     }    
  28.     //打开WIFI    
  29.     public void OpenWifi()    
  30.     {    
  31.         if (!mWifiManager.isWifiEnabled())    
  32.         {    
  33.             mWifiManager.setWifiEnabled(true);    
  34.                 
  35.         }    
  36.     }    
  37.     //关闭WIFI    
  38.     public void CloseWifi()    
  39.     {    
  40.         if (!mWifiManager.isWifiEnabled())    
  41.         {    
  42.             mWifiManager.setWifiEnabled(false);     
  43.         }    
  44.     }    
  45.     //锁定WifiLock    
  46.     public void AcquireWifiLock()    
  47.     {    
  48.         mWifiLock.acquire();    
  49.     }    
  50.     //解锁WifiLock    
  51.     public void ReleaseWifiLock()    
  52.     {    
  53.         //判断时候锁定    
  54.         if (mWifiLock.isHeld())    
  55.         {    
  56.             mWifiLock.acquire();    
  57.         }    
  58.     }    
  59.     //创建一个WifiLock    
  60.     public void CreatWifiLock()    
  61.     {    
  62.         mWifiLock = mWifiManager.createWifiLock("Test");    
  63.     }    
  64.     //得到配置好的网络    
  65.     public List<WifiConfiguration> GetConfiguration()    
  66.     {    
  67.         return mWifiConfiguration;    
  68.     }    
  69.     //指定配置好的网络进行连接    
  70.     public void ConnectConfiguration(int index)    
  71.     {    
  72.         //索引大于配置好的网络索引返回    
  73.         if(index > mWifiConfiguration.size())    
  74.         {    
  75.             return;    
  76.         }    
  77.         //连接配置好的指定ID的网络    
  78.         mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId, true);    
  79.     }    
  80.     public void StartScan()    
  81.     {    
  82.         mWifiManager.startScan();    
  83.         //得到扫描结果    
  84.         mWifiList = mWifiManager.getScanResults();    
  85.         //得到配置好的网络连接    
  86.         mWifiConfiguration = mWifiManager.getConfiguredNetworks();    
  87.     }    
  88.     //得到网络列表    
  89.     public List<ScanResult> GetWifiList()    
  90.     {    
  91.         return mWifiList;    
  92.     }    
  93.     //查看扫描结果    
  94.     public StringBuilder LookUpScan()    
  95.     {    
  96.         StringBuilder stringBuilder = new StringBuilder();    
  97.         for (int i = 0; i < mWifiList.size(); i++)    
  98.         {    
  99.             stringBuilder.append("Index_"+new Integer(i + 1).toString() + ":");    
  100.             //将ScanResult信息转换成一个字符串包    
  101.             //其中把包括:BSSID、SSID、capabilities、frequency、level    
  102.             stringBuilder.append((mWifiList.get(i)).toString());    
  103.             stringBuilder.append("\n");    
  104.         }    
  105.         return stringBuilder;    
  106.     }    
  107.     //得到MAC地址    
  108.     public String GetMacAddress()    
  109.     {    
  110.         return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();    
  111.     }    
  112.     //得到接入点的BSSID    
  113.     public String GetBSSID()    
  114.     {    
  115.         return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();    
  116.     }    
  117.     //得到IP地址    
  118.     public int GetIPAddress()    
  119.     {    
  120.         return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();    
  121.     }    
  122.     //得到连接的ID    
  123.     public int GetNetworkId()    
  124.     {    
  125.         return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId();    
  126.     }    
  127.     //得到WifiInfo的所有信息包    
  128.     public String GetWifiInfo()    
  129.     {    
  130.         return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString();    
  131.     }    
  132.     //添加一个网络并连接    
  133.     public void AddNetwork(WifiConfiguration wcg)    
  134.     {    
  135.         int wcgID = mWifiManager.addNetwork(wcg);     
  136.         mWifiManager.enableNetwork(wcgID, true);     
  137.     }    
  138.     //断开指定ID的网络    
  139.     public void DisconnectWifi(int netId)    
  140.     {    
  141.         mWifiManager.disableNetwork(netId);    
  142.         mWifiManager.disconnect();    
  143.     }    
  144. }

抱歉!评论已关闭.