微信小程序iBeacon获取问题(wx.onBeaconUpdate不执行)【已解决】
作者:互联网
微信小程序iBeacon获取问题(wx.onBeaconUpdate不执行)【已解决】
问题描述
长话短说,使用某公司的iBeacon标签设备,开发微信小程序获取iBeacon信息。结果一直不能进入wx.onBeaconUpdate
里。
软件硬件
平板:HUAWEI
EMUI:10.1.0
Android版本:10
微信版本:7.0.21
微信开发者工具版本:Stable v1.02.2004020
使用代码
var devices = [];
doiBeaconAction: function(e){
console.log(e)
// 开始扫描
wx.startBeaconDiscovery({
uuids: ["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"],
success: function (res) {
console.log("开始扫描设备...", res);
// 监听iBeacon信号
wx.onBeaconUpdate(function (res) {
console.log("onBeaconUpdate", res)
if (res && res.beacons && res.beacons.length > 0) {
devices = res.beacons
// 此处最好检测rssi是否等于0,等于0的话信号强度等信息不准确。我是5秒内重复扫描排重。
}
})
},
fail: function(res) {
console.log("fail", res)
},
complete: function(res) {
console.log("complete", res)
}
}),
// 超时停止扫描
setTimeout(function () {
wx.stopBeaconDiscovery({
success: function () {
console.log("停止设备扫描!");
console.log(devices);
}
});
}, 20 * 1000)
}
问题现象
wx.startBeaconDiscovery
可以进入,success
回调成功,但wx.onBeaconUpdate
的回调没有办法进入。
流程是没有问题的
wx.stopBeaconDiscovery # 停止扫描
↑
setTimeout # 超时设置
↑
开始 → wx.startBeaconDiscovery # 开始扫描
︱
︱―fail(err)→结束
︱
success(res)
↓
wx.onBeaconUpdate # 监听iBeacon信号
︱
︱―fail(err)→结束
︱
success(res)
↓
TODO
解决办法
对手机的微信权限设置:应用–>应用管理–>微信–>权限–>位置信息–>允许。
这个结果我也完全没有想到,但实测就是这样子。希望可以帮到大家。
参考链接:
错误方案:wx.onBeaconUpdate不执行
本次正确方案:【问题BUG?】uni.onBeaconUpdate在微信小程序端不支持部分机型
标签:onBeaconUpdate,console,log,微信,iBeacon,res,wx 来源: https://blog.csdn.net/AlexDish/article/details/110920203