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 public WifiAdmin(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 }