wifi的使用

来源:互联网 发布:q版卡通人物制作软件 编辑:程序博客网 时间:2024/06/05 15:45
 首先需要强调一点的是wifi只能在真机上测试!
        在Android里,所有的wifi操作都在android.net.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 WifiAdmin {// 定义WifiManager对象private WifiManager mWifiManager;// 定义WifiInfo对象private WifiInfo mWifiInfo;// 扫描出的网络连接列表private List<ScanResult> mWifiList;// 网络连接列表private List<WifiConfiguration> mWifiConfiguration;// 定义一个WifiLockWifiLock mWifiLock;// 构造器public WifiAdmin(Context context) {// 取得WifiManager对象mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);// 取得WifiInfo对象mWifiInfo = mWifiManager.getConnectionInfo();}// 打开WIFIpublic void OpenWifi() {if (!mWifiManager.isWifiEnabled()) {mWifiManager.setWifiEnabled(true);}}// 关闭WIFIpublic void CloseWifi() {if (!mWifiManager.isWifiEnabled()) {mWifiManager.setWifiEnabled(false);}}// 锁定WifiLockpublic void AcquireWifiLock() {mWifiLock.acquire();}// 解锁WifiLockpublic void ReleaseWifiLock() {// 判断时候锁定if (mWifiLock.isHeld()) {mWifiLock.acquire();}}// 创建一个WifiLockpublic 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、levelstringBuilder.append((mWifiList.get(i)).toString());stringBuilder.append("\n");}return stringBuilder;}// 得到MAC地址public String GetMacAddress() {return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();}// 得到接入点的BSSIDpublic String GetBSSID() {return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();}// 得到IP地址public int GetIPAddress() {return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();}// 得到连接的IDpublic 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();}}

0 0
原创粉丝点击