收藏
回答

wx.getConnectedWifi 判断手机是否连接上设备网络也不可靠?

按照官网建议(https://developers.weixin.qq.com/miniprogram/dev/framework/device/wifi.html)使用wx.getConnectedWifi 这个接口来确认当前连接是设备 Wi-Fi 后(手机与设备处于同一局域网),便可以使用websocket接口与设备进行通信,但是实际发现在华为某些手机比如Mate60pro,还是会通信时报超时错误,是否这个wx.getConnectedWifi 也是不那么可靠?

通信时报错日志:

{"errCode":1004,"errMsg":"open fail: _code:23,_msg:The total timed out"}

回答关注问题邀请回答
收藏

1 个回答

  • 风清雾散云开见日出
    风清雾散云开见日出
    2023-12-27

    wx.getConnectedWifi这个接口只能获取当前系统已连接的WiFi信息,是否手机与设备处于同一局域网,需要你自己判断,这个接口判断不了,所以你使用TCP或者UDP通信时,是否是同一局域网需要自己判断;至于你说的websocket这个接口通信不需要局域网,可能是你的Mate60pro手机使用的是双频信号,2.4G与5G2个频道切换时,websocket断开重连过程中丢包了吧

    2023-12-27
    有用
    回复 7
    • 微风
      微风
      2023-12-27
      需要自己判断?那根据什么信息来判断手机已经连接上设备Wi-Fi尼?
      2023-12-27
      回复
    • 风清雾散云开见日出
      风清雾散云开见日出
      2023-12-27回复微风
      这个接口只能获取手机已连接WiFi信息,至于这个WiFi是否是你的控制设备的局域网WiFi就要认为自己判断了;
      2023-12-27
      回复
    • 微风
      微风
      2023-12-27回复风清雾散云开见日出
      因为设备的热点名称是知道,就是根据这个接口获取手机已连接WiFi信息,来判断的
      2023-12-27
      回复
    • 风清雾散云开见日出
      风清雾散云开见日出
      2023-12-27回复微风
      我最近就在测试这个WiFi,发现这个WiFi接口wx.getConnectedWifi,完全没作用, Android 10 及以上的手机以上手机再小程序使用WiFi api接口连接WiFi还是需要进入手机WiFi设置那选择WiFi,输入对应的密码连接,所以只要你的手机WiFi设置中连接正确设备的热点就行了,wx.getConnectedWifi这个就是获取一下你手机连接的WiFi名称显示在小程序中而已,仅仅这个功能而已,人眼判断你的手机连接的WiFi热点是否是设备的
      2023-12-27
      回复
    • 微风
      微风
      2023-12-27回复风清雾散云开见日出
      关键是有的手机实际在设置中看到它连接上wifi也会出现通信超时
      2023-12-27
      回复
    查看更多(2)
登录 后发表内容