分享

android 笔记

 Babylly 2011-12-09
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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多