Android Wifi方法大全

来源:互联网 发布:超市语音播报软件 编辑:程序博客网 时间:2024/05/24 06:08

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

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

view plai
package com.yarin.android.Examples_08_08;  
  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. }  

在用到的时候再用!!

原创粉丝点击