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


1、需要申请的权限
android.permission.ACCESS_WIFI_STATE android.permission.CHANGE_WIFI_STATE android.permission.WAKE_LOCK


2、获取WifiManager

wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);


3、开启、关闭wifi

if (wifiManager.isWifiEnabled()) {  wifiManager.setWifiEnabled(false);  } else {  wifiManager.setWifiEnabled(true);  }


4、注意

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


Android Wifi的使用

package com.Aina.Android;   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;   /**  * com.Aina.Android Pro_wifi  *   * @author Aina.huang E-mail: [email protected]  * @version 创建时间:2010 Jul 21, 2010 12:29:00 PM 类说明  */  public class WifiAdmin {       private WifiManager mWifiManager = null;      private WifiInfo mWifiInfo = null;      private List<ScanResult> mWifiList = null;// 扫描出的网络连接列表      private List<WifiConfiguration> mWifiConfiguration = null;// 网络连接列表      private WifiLock mWifiLock = null;       public WifiAdmin(Context mContext) {          mWifiManager = (WifiManager) mContext                  .getSystemService(mContext.WIFI_SERVICE);          mWifiInfo = mWifiManager.getConnectionInfo();      }       public void OpenWifi() {          if (!mWifiManager.isWifiEnabled()) {              mWifiManager.setWifiEnabled(true);// 打开wifi          }      }       public void CloseWife() {          if (mWifiManager.isWifiEnabled()) {              mWifiManager.setWifiEnabled(false);// 关闭wifi          }      }       public void lockWifi() {          mWifiLock.acquire();// 锁定wifi      }       public void rlockWifi() {          if (mWifiLock.isHeld()) {              mWifiLock.acquire();// 解锁wifi          }      }       public void Createwifilock() {          mWifiLock = mWifiManager.createWifiLock("Testss");// 创建一个wifilock      }       public List<WifiConfiguration> GetConfinguration() {          return mWifiConfiguration;// 得到配置好的网络      }       public void ConnectConfiguration(int index) {          if (index > mWifiConfiguration.size()) {              return;          }          mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId, true);//连接配置好的指定ID的网络      }      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、level              stringBuilder.append((mWifiList.get(i)).toString());              stringBuilder.append("\n");          }          return stringBuilder;      }      //得到MAC地址      public String GetMacAddress()      {          return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();      }      //得到接入点的BSSID      public String GetBSSID()      {          return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();      }      //得到IP地址      public int GetIPAddress()      {          return (mWifiInfo == null) ? 0 : mWifiInfo.getIpAddress();      }      //得到连接的ID      public 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();      }  }





更多相关文章

  1. Android xmpp 资源列表
  2. Android学习--使用url访问网络资源
  3. Android 7.0 网络变化监听
  4. Android 通过广播获取网络状态
  5. Android 实现单选列表
  6. Android常用的颜色列表,color.xml
  7. Android网络状态检测
  8. Android 获取mac地址方法
  9. android 判断网络并Wifi网络连接

随机推荐

  1. Android之简单加密–MD5 加密
  2. android 去掉ScrollVIew拉到尽头时再拉的
  3. [置顶] Android(安卓)从硬件到应用:一步一
  4. Android的基础问题、面试题
  5. Android(安卓)ADB server didn't ACK * f
  6. GitHub 优秀的 Android 开源项目 淘宝技
  7. Android之Android N 上的notification归
  8. Android开发之dagger.android--Activity
  9. Android(安卓)UI之布局
  10. flutter包名、应用名称、图标、启动图片