zoukankan      html  css  js  c++  java
  • 连接WiFi工具类

     1 public class WifiConnect {
     2 
     3     WifiManager wifiManager;
     4 
     5     // 构造函数
     6     public WifiConnect(WifiManager wifiManager) {
     7         this.wifiManager = wifiManager;
     8     }
     9 
    10     // 提供一个外部接口,传入要连接的无线网
    11     public boolean Connect(String SSID, String Password, int Type) {
    12 
    13         WifiConfiguration wifiConfig = this
    14                 .CreateWifiInfo(SSID, Password, Type);
    15 
    16         WifiConfiguration tempConfig = this.IsExsits(SSID);
    17         if (tempConfig != null) {
    18             wifiManager.removeNetwork(tempConfig.networkId);
    19         }
    20 
    21         int netID = wifiManager.addNetwork(wifiConfig);
    22         boolean flag = wifiManager.enableNetwork(netID, true);
    23         return flag;
    24     }
    25 
    26     // 查看以前是否也配置过这个网络
    27     private WifiConfiguration IsExsits(String SSID) {
    28         List<WifiConfiguration> existingConfigs = wifiManager
    29                 .getConfiguredNetworks();
    30         for (WifiConfiguration existingConfig : existingConfigs) {
    31             if (existingConfig.SSID.equals(""" + SSID + """)) {
    32                 return existingConfig;
    33             }
    34         }
    35         return null;
    36     }
    37 
    38     // 配置WifiConfiguration
    39     public WifiConfiguration CreateWifiInfo(String SSID, String Password,
    40             int Type) {
    41         WifiConfiguration config = new WifiConfiguration();
    42         config.allowedAuthAlgorithms.clear();
    43         config.allowedGroupCiphers.clear();
    44         config.allowedKeyManagement.clear();
    45         config.allowedPairwiseCiphers.clear();
    46         config.allowedProtocols.clear();
    47         config.SSID = """ + SSID + """;
    48 
    49         WifiConfiguration tempConfig = this.IsExsits(SSID);
    50         if (tempConfig != null) {
    51             wifiManager.removeNetwork(tempConfig.networkId);
    52         }
    53 
    54         if (Type == 1) // WIFICIPHER_NOPASS
    55         {
    56             config.wepKeys[0] = "";
    57             config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
    58             config.wepTxKeyIndex = 0;
    59         }
    60         if (Type == 2) // WIFICIPHER_WEP
    61         {
    62             config.hiddenSSID = true;
    63             config.wepKeys[0] = """ + Password + """;
    64             config.allowedAuthAlgorithms
    65                     .set(WifiConfiguration.AuthAlgorithm.SHARED);
    66             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    67             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    68             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
    69             config.allowedGroupCiphers
    70                     .set(WifiConfiguration.GroupCipher.WEP104);
    71             config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
    72             config.wepTxKeyIndex = 0;
    73         }
    74         if (Type == 3) // WIFICIPHER_WPA
    75         {
    76             config.preSharedKey = """ + Password + """;
    77             config.hiddenSSID = true;
    78             config.allowedAuthAlgorithms
    79                     .set(WifiConfiguration.AuthAlgorithm.OPEN);
    80             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    81             config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
    82             config.allowedPairwiseCiphers
    83                     .set(WifiConfiguration.PairwiseCipher.TKIP);
    84             // config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
    85             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    86             config.allowedPairwiseCiphers
    87                     .set(WifiConfiguration.PairwiseCipher.CCMP);
    88             config.status = WifiConfiguration.Status.ENABLED;
    89         }
    90         return config;
    91     }
    92 
    93 }
  • 相关阅读:
    创建逻辑卷LVM以及swap分区
    Linux下命令别名配置
    vim多行注释与删除
    Linux下parted分区超过2TB硬盘-分区格式化
    scp命令限速远程拷贝
    tar命令加密压缩/解密解压
    centos下dnsmasq安装与配置
    Mac OS: xcrun: error: invalid active developer path, missing xcrun
    C/C++编译器GCC:GNU Compiler Collection
    es分页查询限制的问题
  • 原文地址:https://www.cnblogs.com/yangleda/p/4149430.html
Copyright © 2011-2022 走看看