Android Wifi方法大全

Android Wifi方法大全       
        分类:            android 定位 184人阅读 评论(0) 收藏 举报

Android Wifi方法大全

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

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

  1. view plaincopy to clipboardprint? 
  2. package com.yarin.android.Examples_08_08;   
  3. import java.util.List;   
  4. import android.content.Context;   
  5. import android.net.wifi.ScanResult;   
  6. import android.net.wifi.WifiConfiguration;   
  7. import android.net.wifi.WifiInfo;   
  8. import android.net.wifi.WifiManager;   
  9. import android.net.wifi.WifiManager.WifiLock;   
  10. public class WifiAdmin   
  11. {   
  12.     //定义WifiManager对象   
  13.     private WifiManager mWifiManager;   
  14.     //定义WifiInfo对象   
  15.     private WifiInfo mWifiInfo;   
  16.     //扫描出的网络连接列表   
  17.     private List<ScanResult> mWifiList;   
  18.     //网络连接列表   
  19.     private List<WifiConfiguration> mWifiConfiguration;   
  20.     //定义一个WifiLock   
  21.     WifiLock mWifiLock;   
  22.     //构造器   
  23.     public  WifiAdmin(Context context)   
  24.     {   
  25.         //取得WifiManager对象   
  26.         mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);   
  27.         //取得WifiInfo对象   
  28.         mWifiInfo = mWifiManager.getConnectionInfo();   
  29.     }   
  30.     //打开WIFI   
  31.     public void OpenWifi()   
  32.     {   
  33.         if (!mWifiManager.isWifiEnabled())   
  34.         {   
  35.             mWifiManager.setWifiEnabled(true);   
  36.                
  37.         }   
  38.     }   
  39.     //关闭WIFI   
  40.     public void CloseWifi()   
  41.     {   
  42.         if (!mWifiManager.isWifiEnabled())   
  43.         {   
  44.             mWifiManager.setWifiEnabled(false);    
  45.         }   
  46.     }   
  47.     //锁定WifiLock   
  48.     public void AcquireWifiLock()   
  49.     {   
  50.         mWifiLock.acquire();   
  51.     }   
  52.     //解锁WifiLock   
  53.     public void ReleaseWifiLock()   
  54.     {   
  55.         //判断时候锁定   
  56.         if (mWifiLock.isHeld())   
  57.         {   
  58.             mWifiLock.acquire();   
  59.         }   
  60.     }   
  61.     //创建一个WifiLock   
  62.     public void CreatWifiLock()   
  63.     {   
  64.         mWifiLock = mWifiManager.createWifiLock("Test");   
  65.     }   
  66.     //得到配置好的网络   
  67.     public List<WifiConfiguration> GetConfiguration()   
  68.     {   
  69.         return mWifiConfiguration;   
  70.     }   
  71.     //指定配置好的网络进行连接   
  72.     public void ConnectConfiguration(int index)   
  73.     {   
  74.         //索引大于配置好的网络索引返回   
  75.         if(index > mWifiConfiguration.size())   
  76.         {   
  77.             return;   
  78.         }   
  79.         //连接配置好的指定ID的网络   
  80.         mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId, true);   
  81.     }   
  82.     public void StartScan()   
  83.     {   
  84.         mWifiManager.startScan();   
  85.         //得到扫描结果   
  86.         mWifiList = mWifiManager.getScanResults();   
  87.         //得到配置好的网络连接   
  88.         mWifiConfiguration = mWifiManager.getConfiguredNetworks();   
  89.     }   
  90.     //得到网络列表   
  91.     public List<ScanResult> GetWifiList()   
  92.     {   
  93.         return mWifiList;   
  94.     }   
  95.     //查看扫描结果   
  96.     public StringBuilder LookUpScan()   
  97.     {   
  98.         StringBuilder stringBuilder = new StringBuilder();   
  99.         for (int i = 0; i < mWifiList.size(); i++)   
  100.         {   
  101.             stringBuilder.append("Index_"+new Integer(i + 1).toString() + ":");   
  102.             //将ScanResult信息转换成一个字符串包   
  103.             //其中把包括:BSSID、SSID、capabilities、frequency、level   
  104.             stringBuilder.append((mWifiList.get(i)).toString());   
  105.             stringBuilder.append("\n");   
  106.         }   
  107.         return stringBuilder;   
  108.     }   
  109.     //得到MAC地址   
  110.     public String GetMacAddress()   
  111.     {   
  112.         return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();   
  113.     }   
  114.     //得到接入点的BSSID   
  115.     public String GetBSSID()   
  116.     {   
  117.         return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();   
  118.     }   
  119.     //得到IP地址   
  120.     public int GetIPAddress()   
  121.     {   
  122.         return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();   
  123.     }   
  124.     //得到连接的ID   
  125.     public int GetNetworkId()   
  126.     {   
  127.         return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId();   
  128.     }   
  129.     //得到WifiInfo的所有信息包   
  130.     public String GetWifiInfo()   
  131.     {   
  132.         return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString();   
  133.     }   
  134.     //添加一个网络并连接   
  135.     public void AddNetwork(WifiConfiguration wcg)   
  136.     {   
  137.         int wcgID = mWifiManager.addNetwork(wcg);    
  138.         mWifiManager.enableNetwork(wcgID, true);    
  139.     }   
  140.     //断开指定ID的网络   
  141.     public void DisconnectWifi(int netId)   
  142.     {   
  143.         mWifiManager.disableNetwork(netId);   
  144.         mWifiManager.disconnect();   
  145.     }   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值