首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WifiManager.addNetwork成功,但enableNetwork失败

WifiManager.addNetwork成功,但enableNetwork失败
EN

Stack Overflow用户
提问于 2013-11-13 06:12:14
回答 1查看 2.9K关注 0票数 1

我可以配置和添加网络(WPA2-PSK),但是当我尝试启用它(使用WifiManager.enableNetwork)时,我得到一个失败。两次调用之间的日志中没有有用的调试信息(除了W/ActivityManager﹕ Activity idle timeout)。这会是什么呢?

代码如下:

代码语言:javascript
复制
        String quotedSSID = "\"" + networkSSID + "\"";

        WifiConfiguration conf = new WifiConfiguration();
        conf.SSID = quotedSSID;
        conf.preSharedKey = "\""+ networkPass +"\"";
        conf.hiddenSSID = true;
        conf.allowedProtocols.set(WifiConfiguration.Protocol.RSN); // For WPA2
        conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
        conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
        conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
        conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
        conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);

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

        Log.w(MainActivity.APP_TAG, "Adding " + conf.SSID);
        int networkId = wifiManager.addNetwork(conf);
        if (networkId < 0) {
            Log.e(MainActivity.APP_TAG, "Failed to configure " + conf.SSID);
        }
        if (!wifiManager.enableNetwork(conf.networkId, true)) {
            Log.e(MainActivity.APP_TAG, "Failed to enable " + conf.SSID);
        } else {
            Log.i(MainActivity.APP_TAG, "Enabled " + conf.SSID);
        }
EN

回答 1

Stack Overflow用户

发布于 2013-11-13 13:02:02

回答我自己的问题。启用网络时,我应该使用新的网络id,即networkId而不是conf.networkId

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19941015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档