admin管理员组文章数量:1026989
写之前先简单介绍下发现的问题:
A手机创建热点"mini",B手机在连接热点之前,连接的SSID叫做"haha",这时使用enablenetwork(netID, true)方法,连接A创建的热点"mini",一般出现的过程就是先断开"haha",连接"mini"热点,这个过程中,大部分的手机会成功连接上"mini",但是部分手机如OPPO R7 Plus就不能连接上"mini",这种型号的手机连接过程是先断开"haha",连接"mini"热点,但是最后连接的还是"haha",这是为什么呢? 原来,wifiManager.enableNetwork(netID, true);这个方法只是执行 命令让去连接"指定的SSID",就算返回true也不代表最终连接的wifi是指定的wiifi,这是为什么,是因为我们Wifi断开跟某个SSID连接的时候,系统读取了一个优先级连接,判断出一个要连接的SSID,而我们只想连接我们的SSID,这样此时相当于有两个线程同时在进行,一但我们的SSID先连接上,System的连接晚我们一步连接上,就会导致我们刚连接上的SSID,马上就断开了。 参考链接:http://www.bubuko/infodetail-1124873.html,受益良多
期间还遇到一个问题就是连接无密热点wifi的情况下wifiManager.addNetwork(wifiConfig)返回的netid为-1,这种情况下直接做以下处理,所有目前能遇到的问题都在demo里面处理了,遇到相同问题的童鞋可以下载看看
// config.wepKeys[0] = "";
config.hiddenSSID = true;
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
// config.wepTxKeyIndex = 0;
以下奉上解决办法的demo的下载地址
http://download.csdn/detail/zs20082012/9718632
写之前先简单介绍下发现的问题:
A手机创建热点"mini",B手机在连接热点之前,连接的SSID叫做"haha",这时使用enablenetwork(netID, true)方法,连接A创建的热点"mini",一般出现的过程就是先断开"haha",连接"mini"热点,这个过程中,大部分的手机会成功连接上"mini",但是部分手机如OPPO R7 Plus就不能连接上"mini",这种型号的手机连接过程是先断开"haha",连接"mini"热点,但是最后连接的还是"haha",这是为什么呢? 原来,wifiManager.enableNetwork(netID, true);这个方法只是执行 命令让去连接"指定的SSID",就算返回true也不代表最终连接的wifi是指定的wiifi,这是为什么,是因为我们Wifi断开跟某个SSID连接的时候,系统读取了一个优先级连接,判断出一个要连接的SSID,而我们只想连接我们的SSID,这样此时相当于有两个线程同时在进行,一但我们的SSID先连接上,System的连接晚我们一步连接上,就会导致我们刚连接上的SSID,马上就断开了。 参考链接:http://www.bubuko/infodetail-1124873.html,受益良多
期间还遇到一个问题就是连接无密热点wifi的情况下wifiManager.addNetwork(wifiConfig)返回的netid为-1,这种情况下直接做以下处理,所有目前能遇到的问题都在demo里面处理了,遇到相同问题的童鞋可以下载看看
// config.wepKeys[0] = "";
config.hiddenSSID = true;
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
// config.wepTxKeyIndex = 0;
以下奉上解决办法的demo的下载地址
http://download.csdn/detail/zs20082012/9718632
版权声明:本文标题:android 解决部分手机连接热点wifi导致被切换,enablenetwork(netID, true)无效的问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1740334935a1753054.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论