zoukankan      html  css  js  c++  java
  • 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. }  
  • 相关阅读:
    Sql2000存储过程分页
    扇贝网页记单词插件
    notepad++正则替换保留原内容
    给 QuickTime 播放器添加快进x秒,快退x秒
    谷歌浏览器隐私设置错误 NET::ERR_CERT_AUTHORITY_INVALID 攻击者可能会试图从 xx 窃取您的信息(例如:密码、通讯内容或信用卡信息)。
    Java实体映射工具MapStruct 与BeanUtils性能比较
    阿里DDD项目最佳实践-COLA 架构总览
    Java实体映射工具MapStruct详解
    Martin Fowler大神
    领域模型的核心本质是什么?
  • 原文地址:https://www.cnblogs.com/Gaojiecai/p/2245134.html
Copyright © 2011-2022 走看看