android 解决部分手机连接热点wifi导致被切换,enablenetwork(netID, true)无效的问题

编程知识 更新时间:2023-05-01 02:46:53

写之前先简单介绍下发现的问题:

 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)无效的问题

本文发布于:2023-04-23 02:14:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/73644bbee40745f5631c6d3391e5cd6f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:热点   手机   android   wifi   true

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 97886文章数
  • 24954阅读数
  • 0评论数