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需要加上双引号的大侠请在下面加个评论,感谢!

  • 相关阅读:
    Android Studio在项目中添加assets资源目录
    Android Studio向项目中导入jar包的方法
    Android Studio 配置 androidAnnotations框架详细步骤
    Android退出所有Activity最优雅的方式
    Android数据存储之SQLite使用
    Android数据存储之SharedPreferences使用
    三种实现Android主界面Tab的方式
    Android热门网络框架Volley详解
    Android必学之数据适配器BaseAdapter
    23种设计模式UML图
  • 原文地址:https://www.cnblogs.com/feijian/p/4563689.html
Copyright © 2011-2022 走看看