小程序
小游戏
企业微信
微信支付
扫描小程序码分享
调用wx.getBeacons接口成功后执行两遍
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你如果再等等还会发现不只回调两次……
系统是会是会不断将目标 beacon 的信号回调给小程序的,因此你调用 startBeaconDiscovery 后,只要监听 wx.onBeaconUpdate(function(res){}) 的结果就好了,只要手机能一直接收到 beacon 的信号,那这个函数会不停地被回调到,一般是1秒1次。
一般是无需调用 wx.getBeacons 的,除非你想主动获取历史找到的 beacon 信息。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
明白了,谢谢解答。wx.onBeaconUpdate这个接口确实是在不停的回调,但是我在回调里写了stopBeaconDiscovery ,我觉得他会在第一次执行完就会停止扫描,但是执行了两次。通过反复测试发现,就算第一次停止了,onBeaconUpdate也会执行多次,次数跟搜索到的ibeacon设备个数一样,因为每次onBeaconUpdate回调会返回一个包含ibeacon设备信息的数组。
所以目前问题解决了,本人拙见, 在想是不是直接执行一次回调,然后每次回调里面的数组里存上当前所有获取到的设备。
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
直接提供的代码片段无法复现,因为代码里面的uuid是我这边ibeacon设备的。而且必须获取到设备后才会输出,而直接提供的代码没有可获取的设备。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你如果再等等还会发现不只回调两次……
系统是会是会不断将目标 beacon 的信号回调给小程序的,因此你调用 startBeaconDiscovery 后,只要监听 wx.onBeaconUpdate(function(res){}) 的结果就好了,只要手机能一直接收到 beacon 的信号,那这个函数会不停地被回调到,一般是1秒1次。
一般是无需调用 wx.getBeacons 的,除非你想主动获取历史找到的 beacon 信息。
明白了,谢谢解答。wx.onBeaconUpdate这个接口确实是在不停的回调,但是我在回调里写了stopBeaconDiscovery ,我觉得他会在第一次执行完就会停止扫描,但是执行了两次。通过反复测试发现,就算第一次停止了,onBeaconUpdate也会执行多次,次数跟搜索到的ibeacon设备个数一样,因为每次onBeaconUpdate回调会返回一个包含ibeacon设备信息的数组。
所以目前问题解决了,本人拙见, 在想是不是直接执行一次回调,然后每次回调里面的数组里存上当前所有获取到的设备。
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
直接提供的代码片段无法复现,因为代码里面的uuid是我这边ibeacon设备的。而且必须获取到设备后才会输出,而直接提供的代码没有可获取的设备。