微信小程序iOS中wx.onGetWifiList不能正常回调解决方法

看了微信开放社区多篇关于“wx.onGetWifiList不能正常回调”的问题和回答。要么是贴文档的,要么说wx.canIUse判断API是否可用的,总之没有找到可行解决方法。在这里记录一下自己的解决方法,如有问题欢迎提出。

文档

iOS

  1. startWifi: 初始化 Wi-Fi 模块
  2. getWifiList: 请求获取周边 Wi-Fi 列表。本接口会跳转到系统设置中的微信设置页,需引导用户进入「无线局域网」设置页,手动连接设备。(iOS 11.0 及 11.1 版本因系统问题失效)
  3. onGetWifiList: 获取到 Wi-Fi 列表数据事件
  4. setWifiList: 设置 Wi-Fi 列表 中 AP 的相关信息,辅助用户进行连接
  5. onWifiConnected: 连接上 Wi-Fi 的事件回调

问题描述:

  • 根据官方文档提供的iOS 5个步骤:
  1. 执行wx.startWifi()会跳转到系统的微信设置
  2. 需要自行进入“设置 - 无线局域网”,然后等待无线网刷新完成
  3. 无线网刷新完成后,自行回到“微信”(注意:这里回到微信后会进入onShow()生命周期),# wx.onGetWifiList无法回调

解决方法(亲测有效):

前提: onShow() // 页面出现在前台时执行/生命周期回调—监听页面显示/页面显示/切入前台时触发

wx.onGetWifiList()放在onShow()中,在第3步骤“无线网刷新完成后,自行回到“微信””后,便可以正常执行wx.onGetWifiList()的回调函数,可以在控制台打印,手机打开调试。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容