先需要强调一点的是wifi只能在真机上测试!

在Android里,所有的wifi操作都在android.net.wifi包里,而常用的类也就只用几个,对于一般的开发人员来说,常用的操作也是有限的,不需要刻意的去记,用的时候现查就ok了,下面是《Android应用开发揭秘》里面关于wifi的范例,个人感觉还挺齐全,跟大家分享一下!

view plaincopy to clipboardprint?     package com.yarin.android.Examples_08_08;       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 WifiAdmin       {           //定义WifiManager对象         private WifiManager mWifiManager;         //定义WifiInfo对象         private WifiInfo mWifiInfo;         //扫描出的网络连接列表         private List<ScanResult> mWifiList;         //网络连接列表         private List<WifiConfiguration> mWifiConfiguration;         //定义一个WifiLock         WifiLock mWifiLock;         //构造器         public  WifiAdmin(Context context)           {               //取得WifiManager对象             mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);             //取得WifiInfo对象             mWifiInfo = mWifiManager.getConnectionInfo();         }           //打开WIFI         public void OpenWifi()           {               if (!mWifiManager.isWifiEnabled())             {                 mWifiManager.setWifiEnabled(true);              }         }           //关闭WIFI         public void CloseWifi()           {             if (!mWifiManager.isWifiEnabled())               {                 mWifiManager.setWifiEnabled(false);              }         }           //锁定WifiLock         public void AcquireWifiLock()           {             mWifiLock.acquire();         }           //解锁WifiLock         public void ReleaseWifiLock()           {               //判断时候锁定             if (mWifiLock.isHeld())               {                 mWifiLock.acquire();             }         }           //创建一个WifiLock         public void CreatWifiLock()           {             mWifiLock = mWifiManager.createWifiLock("Test");         }           //得到配置好的网络           public List<WifiConfiguration> GetConfiguration()           {             return mWifiConfiguration;         }           //指定配置好的网络进行连接         public void ConnectConfiguration(int index)           {             //索引大于配置好的网络索引返回             if(index > mWifiConfiguration.size())               {                 return;             }            //连接配置好的指定ID的网络               mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId, true);        }           public void StartScan()           {            mWifiManager.startScan();             //得到扫描结果             mWifiList = mWifiManager.getScanResults();             //得到配置好的网络连接             mWifiConfiguration = mWifiManager.getConfiguredNetworks();           }         //得到网络列表           public List<ScanResult> GetWifiList()           {             return mWifiList;         }           //查看扫描结果           public StringBuilder LookUpScan()           {               StringBuilder stringBuilder = new StringBuilder();             for (int i = 0; i < mWifiList.size(); i++)               {                   stringBuilder.append("Index_"+new Integer(i + 1).toString() + ":");                //将ScanResult信息转换成一个字符串包                 //其中把包括:BSSID、SSID、capabilities、frequency、level                 stringBuilder.append((mWifiList.get(i)).toString());                 stringBuilder.append("\n");             }               return stringBuilder;         }           //得到MAC地址           public String GetMacAddress()           {             return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();         }           //得到接入点的BSSID           public String GetBSSID()           {             return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();         }           //得到IP地址           public int GetIPAddress()           {             return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();         }           //得到连接的ID           public int GetNetworkId()           {             return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId();        }           //得到WifiInfo的所有信息包           public String GetWifiInfo()           {             return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString();         }           //添加一个网络并连接         public void AddNetwork(WifiConfiguration wcg)           {             int wcgID = mWifiManager.addNetwork(wcg);              mWifiManager.enableNetwork(wcgID, true);            }           //断开指定ID的网络           public void DisconnectWifi(int netId)           {            mWifiManager.disableNetwork(netId);             mWifiManager.disconnect();           }       }