53421 发表于 2015-10-1 10:57:40

wifi使用大全

  package com.yarin.android.Examples_08_08;
  002
  003   
  004 import java.util.List;
  005 import android.content.Context;
  006 import android.net.wifi.ScanResult;
  007 import android.net.wifi.WifiConfiguration;
  008 import android.net.wifi.WifiInfo;
  009 import android.net.wifi.WifiManager;
  010 import android.net.wifi.WifiManager.WifiLock;
  011 public class WifiAdmin
  012 {
  013   //定义WifiManager对象
  014   private WifiManager mWifiManager;
  015   //定义WifiInfo对象
  016   private WifiInfo mWifiInfo;
  017   //扫描出的网络连接列表
  018   private List<ScanResult> mWifiList;
  019   //网络连接列表
  020   private List<WifiConfiguration> mWifiConfiguration;
  021   //定义一个WifiLock
  022   WifiLock mWifiLock;
  023   //构造器
  024   publicWifiAdmin(Context context)
  025   {
  026         //取得WifiManager对象
  027         mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
  028         //取得WifiInfo对象
  029         mWifiInfo = mWifiManager.getConnectionInfo();
  030   }
  031   //打开WIFI
  032   public void OpenWifi()
  033   {
  034         if (!mWifiManager.isWifiEnabled())
  035         {
  036             mWifiManager.setWifiEnabled(true);
  037               
  038         }
  039   }
  040   //关闭WIFI
  041   public void CloseWifi()
  042   {
  043         if (!mWifiManager.isWifiEnabled())
  044         {
  045             mWifiManager.setWifiEnabled(false);   
  046         }
  047   }
  048   //锁定WifiLock
  049   public void AcquireWifiLock()
  050   {
  051         mWifiLock.acquire();
  052   }
  053   //解锁WifiLock
  054   public void ReleaseWifiLock()
  055   {
  056         //判断时候锁定
  057         if (mWifiLock.isHeld())
  058         {
  059             mWifiLock.acquire();
  060         }
  061   }
  062   //创建一个WifiLock
  063   public void CreatWifiLock()
  064   {
  065         mWifiLock = mWifiManager.createWifiLock("Test");
  066   }
  067   //得到配置好的网络
  068   public List<WifiConfiguration> GetConfiguration()
  069   {
  070         return mWifiConfiguration;
  071   }
  072   //指定配置好的网络进行连接
  073   public void ConnectConfiguration(int index)
  074   {
  075         //索引大于配置好的网络索引返回
  076         if(index > mWifiConfiguration.size())
  077         {
  078             return;
  079         }
  080         //连接配置好的指定ID的网络
  081         mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId, true);
  082   }
  083   public void StartScan()
  084   {
  085         mWifiManager.startScan();
  086         //得到扫描结果
  087         mWifiList = mWifiManager.getScanResults();
  088         //得到配置好的网络连接
  089         mWifiConfiguration = mWifiManager.getConfiguredNetworks();
  090   }
  091   //得到网络列表
  092   public List<ScanResult> GetWifiList()
  093   {
  094         return mWifiList;
  095   }
  096   //查看扫描结果
  097   public StringBuilder LookUpScan()
  098   {
  099         StringBuilder stringBuilder = new StringBuilder();
  100         for (int i = 0; i < mWifiList.size(); i++)
  101         {
  102             stringBuilder.append("Index_"+new Integer(i + 1).toString() + ":");
  103             //将ScanResult信息转换成一个字符串包
  104             //其中把包括:BSSID、SSID、capabilities、frequency、level
  105             stringBuilder.append((mWifiList.get(i)).toString());
  106             stringBuilder.append("\n");
  107         }
  108         return stringBuilder;
  109   }
  110   //得到MAC地址
  111   public String GetMacAddress()
  112   {
  113         return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();
  114   }
  115   //得到接入点的BSSID
  116   public String GetBSSID()
  117   {
  118         return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();
  119   }
  120   //得到IP地址
  121   public int GetIPAddress()
  122   {
  123         return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();
  124   }
  125   //得到连接的ID
  126   public int GetNetworkId()
  127   {
  128         return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId();
  129   }
  130   //得到WifiInfo的所有信息包
  131   public String GetWifiInfo()
  132   {
  133         return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString();
  134   }
  135   //添加一个网络并连接
  136   public void AddNetwork(WifiConfiguration wcg)
  137   {
  138         int wcgID = mWifiManager.addNetwork(wcg);   
  139         mWifiManager.enableNetwork(wcgID, true);   
  140   }
  141   //断开指定ID的网络
  142   public void DisconnectWifi(int netId)
  143   {
  144         mWifiManager.disableNetwork(netId);
  145         mWifiManager.disconnect();
  146   }
  147 }
页: [1]
查看完整版本: wifi使用大全