Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – WifiConfiguration在Lollipop中启用网络大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在工作的Wifi项目,有一个模块,使用户可以编程加入WiFi.

在kitkat和以下它正在成功工作,但在Lollipop它不工作.

这是代码

WifiManager wifiManager = (WifiManager) getSystemservice(Context.WIFI_serviCE);
WifiConfiguration wifiConfiguration = new WifiConfiguration();
wifiConfiguration.SSID = "\"testSSID\"";
wifiConfiguration.hiddenSSID = true;
wifiConfiguration.status = WifiConfiguration.Status.ENABLED;
wifiConfiguration.allowedKeymanagement
.set(WifiConfiguration.Keymgmt.NONE);
netId = wifiManager.addNetwork(wifiConfiguration);
Log.d("WifiPreference","add Network returned " + netId);
Boolean checkEnableWifi = wifiManager.enableNetwork(netId,truE);
Log.d("WifiPreference","enableNetwork returned " + checkEnableWifi);

我的测试设备是nexus 5 build number LRX21O,在我的代码或Lollipop上的错误中有什么问题吗?

解决方法

面对类似的棒棒糖问题.

手动禁用其他网络,然后重新连接的WiFi管理器解决了这个问题.

Boolean enableNework(String ssid,Context cxt) {
    Boolean state = false;
    WifiManager wm = (WifiManager) cxt.getSystemservice(Context.WIFI_serviCE);
    if (wm.setWifiEnabled(true)) {
        List<WifiConfiguration> networks = wm.getConfiguredNetworks();
        Iterator<WifiConfiguration> iterator = networks.iterator();
        while (iterator.hasNext()) {
            WifiConfiguration wifiConfig = iterator.next();
            if (wifiConfig.SSID.equals(ssid))
                state = wm.enableNetwork(wifiConfig.networkId,truE);
            else
                wm.disableNetwork(wifiConfig.networkId);
        }
        wm.reconnect();
    }
    return state;
}

大佬总结

以上是大佬教程为你收集整理的android – WifiConfiguration在Lollipop中启用网络全部内容,希望文章能够帮你解决android – WifiConfiguration在Lollipop中启用网络所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。