zoukankan      html  css  js  c++  java
  • android开发连接wifi addNetwork 返回-1

    如下代码:(注释掉的是会返回-1的代码,未注释的是能够正常连接wifi的代码)

    //     public WifiConfiguration CreateWifiInfo(String SSID, String Password,int Type) {
    //         WifiConfiguration config = new WifiConfiguration();
    //         config.allowedAuthAlgorithms.clear();
    //         config.allowedGroupCiphers.clear();
    //         config.allowedKeyManagement.clear();
    //         config.allowedPairwiseCiphers.clear();
    //         config.allowedProtocols.clear();
    ////         config.SSID = """ + SSID + """;
    //         config.SSID = SSID;
    //
    //         WifiConfiguration tempConfig = this.IsExsits(SSID);
    //         if (tempConfig != null) {
    //             mWifiManager.removeNetwork(tempConfig.networkId);
    //         }
    //
    //         if (Type == 1) // WIFICIPHER_NOPASS
    //         {
    //             config.wepKeys[0] = "";
    //             config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
    //             config.wepTxKeyIndex = 0;
    //         }
    //         if (Type == 2) // WIFICIPHER_WEP
    //         {
    //             config.hiddenSSID = true;
    ////             config.wepKeys[0] = """ + Password + """;
    //             config.wepKeys[0] = Password;
    //             config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
    //             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    //             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    //             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
    //             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
    //             config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
    //             config.wepTxKeyIndex = 0;
    //         }
    //         if (Type == 3) // WIFICIPHER_WPA
    //         {
    ////             config.preSharedKey = """ + Password + """;
    //             config.preSharedKey =Password;
    //             config.hiddenSSID = true;
    //             config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
    //             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    //             config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
    //             config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
    //             // config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
    //             config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
    //             config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
    //             config.status = WifiConfiguration.Status.ENABLED;
    //         }
    //         return config;
    //     }
        public WifiConfiguration CreateWifiInfo(String SSID, String Password,
                int Type) {
            WifiConfiguration config = new WifiConfiguration();
            config.allowedAuthAlgorithms.clear();
            config.allowedGroupCiphers.clear();
            config.allowedKeyManagement.clear();
            config.allowedPairwiseCiphers.clear();
            config.allowedProtocols.clear();
            config.SSID = """ + SSID + """;
    
            WifiConfiguration tempConfig = this.IsExsits(SSID);
            if (tempConfig != null) {
                mWifiManager.removeNetwork(tempConfig.networkId);
            }
    
            if (Type == 1) // WIFICIPHER_NOPASS
            {
                config.wepKeys[0] = "";
                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
                config.wepTxKeyIndex = 0;
            }
            if (Type == 2) // WIFICIPHER_WEP
            {
                config.hiddenSSID = true;
                config.wepKeys[0] = """ + Password + """;
                config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
                config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
                config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
                config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40);
                config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104);
                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
                config.wepTxKeyIndex = 0;
            }
            if (Type == 3) // WIFICIPHER_WPA
            {
                config.preSharedKey = """ + Password + """;
                config.hiddenSSID = true;
                config.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
                config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
                config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
                config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
                // config.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
                config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
                config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
                config.status = WifiConfiguration.Status.ENABLED;
            }
            return config;
        }

    有知道为什么ssid和pwd需要加上双引号的大侠请在下面加个评论,感谢!

  • 相关阅读:
    vue官方实例-组件
    数据处理-js
    图片大于div时的居中显示
    angularjs select通过动态加载option有空白项的处理方法-
    背景图片自适应div
    input-text
    input-number-required
    input-number-not-required
    null与undefined的区别?
    是true还是false呢?
  • 原文地址:https://www.cnblogs.com/feijian/p/4563689.html
Copyright © 2011-2022 走看看