免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1800 | 回复: 1
打印 上一主题 下一主题

android 笔记 --- wifi应用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-13 17:58 |只看该作者 |倒序浏览
android 笔记 --- wifi应用




Android-开启和关闭wifi的代码段


1、需要申请的权限

Java代码
  1. android.permission.ACCESS_WIFI_STATE   
  2. android.permission.CHANGE_WIFI_STATE   
  3. android.permission.WAKE_LOCK   
复制代码
2、获取WifiManager



Java代码
  1. wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);   
复制代码
3、开启、关闭wifi



Java代码
  1. if (wifiManager.isWifiEnabled()) {     
  2. wifiManager.setWifiEnabled(false);     
  3. } else {     
  4. wifiManager.setWifiEnabled(true);     
  5. }   
复制代码
4、注意

如果遇到force-close, 选wait即可, 因为启动wifi需要几秒钟, UI如果5妙钟还没反映的话, 系统会给你这个force close exception


Android Wifi的使用



Java代码
  1. package com.Aina.Android;     
  2.    
  3. import java.util.List;     
  4.    
  5. import android.content.Context;     
  6. import android.net.wifi.ScanResult;     
  7. import android.net.wifi.WifiConfiguration;     
  8. import android.net.wifi.WifiInfo;     
  9. import android.net.wifi.WifiManager;     
  10. import android.net.wifi.WifiManager.WifiLock;     
  11.    
  12. /**   
  13. * com.Aina.Android Pro_wifi   
  14. *   
  15. * @author Aina.huang E-mail: 674023920@qq.com   
  16. * @version 创建时间:2010 Jul 21, 2010 12:29:00 PM 类说明   
  17. */     
  18. public class WifiAdmin {     
  19.    
  20.     private WifiManager mWifiManager = null;     
  21.     private WifiInfo mWifiInfo = null;     
  22.     private List<ScanResult> mWifiList = null;// 扫描出的网络连接列表     
  23.     private List<WifiConfiguration> mWifiConfiguration = null;// 网络连接列表     
  24.     private WifiLock mWifiLock = null;     
  25.    
  26.     public WifiAdmin(Context mContext) {     
  27.         mWifiManager = (WifiManager) mContext     
  28.                 .getSystemService(mContext.WIFI_SERVICE);     
  29.         mWifiInfo = mWifiManager.getConnectionInfo();     
  30.     }     
  31.    
  32.     public void OpenWifi() {     
  33.         if (!mWifiManager.isWifiEnabled()) {     
  34.             mWifiManager.setWifiEnabled(true);// 打开wifi     
  35.         }     
  36.     }     
  37.    
  38.     public void CloseWife() {     
  39.         if (mWifiManager.isWifiEnabled()) {     
  40.             mWifiManager.setWifiEnabled(false);// 关闭wifi     
  41.         }     
  42.     }     
  43.    
  44.     public void lockWifi() {     
  45.         mWifiLock.acquire();// 锁定wifi     
  46.     }     
  47.    
  48.     public void rlockWifi() {     
  49.         if (mWifiLock.isHeld()) {     
  50.             mWifiLock.acquire();// 解锁wifi     
  51.         }     
  52.     }     
  53.    
  54.     public void Createwifilock() {     
  55.         mWifiLock = mWifiManager.createWifiLock("Testss");// 创建一个wifilock     
  56.     }     
  57.    
  58.     public List<WifiConfiguration> GetConfinguration() {     
  59.         return mWifiConfiguration;// 得到配置好的网络     
  60.     }     
  61.    
  62.     public void ConnectConfiguration(int index) {     
  63.         if (index > mWifiConfiguration.size()) {     
  64.             return;     
  65.         }     
  66.         mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId, true);//连接配置好的指定ID的网络     
  67.     }     
  68.     public void StartScan()     
  69.     {     
  70.         mWifiManager.startScan();     
  71.         //得到扫描结果     
  72.         mWifiList = mWifiManager.getScanResults();     
  73.         //得到配置好的网络连接     
  74.         mWifiConfiguration = mWifiManager.getConfiguredNetworks();     
  75.     }     
  76.     //得到网络列表     
  77.     public List<ScanResult> GetWifiList()     
  78.     {     
  79.         return mWifiList;     
  80.     }     
  81.     //查看扫描结果     
  82.     public StringBuilder LookUpScan()     
  83.     {     
  84.         StringBuilder stringBuilder = new StringBuilder();     
  85.         for (int i = 0; i < mWifiList.size(); i++)     
  86.         {     
  87.             stringBuilder.append("Index_"+new Integer(i + 1).toString() + ":");     
  88.             //将ScanResult信息转换成一个字符串包     
  89.             //其中把包括:BSSID、SSID、capabilities、frequency、level     
  90.             stringBuilder.append((mWifiList.get(i)).toString());     
  91.             stringBuilder.append("\n");     
  92.         }     
  93.         return stringBuilder;     
  94.     }     
  95.     //得到MAC地址     
  96.     public String GetMacAddress()     
  97.     {     
  98.         return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();     
  99.     }     
  100.     //得到接入点的BSSID     
  101.     public String GetBSSID()     
  102.     {     
  103.         return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();     
  104.     }     
  105.     //得到IP地址     
  106.     public int GetIPAddress()     
  107.     {     
  108.         return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();     
  109.     }     
  110.     //得到连接的ID     
  111.     public int GetNetworkId()     
  112.     {     
  113.         return (mWifiInfo == null) ? 0 : mWifiInfo.getNetworkId();     
  114.     }     
  115.     //得到WifiInfo的所有信息包     
  116.     public String GetWifiInfo()     
  117.     {     
  118.         return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString();     
  119.     }     
  120.     //添加一个网络并连接     
  121.     public void AddNetwork(WifiConfiguration wcg)     
  122.     {     
  123.         int wcgID = mWifiManager.addNetwork(wcg);      
  124.         mWifiManager.enableNetwork(wcgID, true);      
  125.     }     
  126.     //断开指定ID的网络     
  127.     public void DisconnectWifi(int netId)     
  128.     {     
  129.         mWifiManager.disableNetwork(netId);     
  130.         mWifiManager.disconnect();     
  131.     }     
  132. }   
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-11-14 08:59 |只看该作者
学习了..谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP