今天突然发现我们的线上小程序几乎所有的安卓手机都搜索不到蓝牙设备了(线上运行的小程序最后一次更新发布是3月19号,此版本发布后已正常运行大半个月了),但是苹果手机又都是正常的。目前安卓手机里只有一台锤子坚果pro2是正常的,其余华为,小米均不能搜索到蓝牙,麻烦官方人员看一下什么情况。
我们通过开发版跟踪代码,发现安卓手机无法搜索到蓝牙设备的原因主要是如下函数:
getBluetoothAdapterState: function () {
var that = this;
wx.getBluetoothAdapterState({
success: function (res) {
var available = res.available;
var discovering = res.discovering;
// console.log(available, discovering,'==getBluetoothAdapterState');
if (!available) {
wx.showToast({
title: '无法开启蓝牙连接',
icon: 'success',
duration: 3000
})
setTimeout(function () {
wx.hideToast()
}, 3000);
} else {
if (!res.discovering) {
setTimeout(function () {
that.startBluetoothDevicesDiscovery();
}, 100)
}
}
}
})
},
上面那个函数中,res.discovering一直总是返回true,所以导致从一开始就没办法进入到判断里面去执行this.startBluetoothDevicesDiscovery()去搜索蓝牙设备,因此一直搜索不到蓝牙设备。但是,以前是不会这样的,第一次搜索时res.discovering是会返回false的。感觉是微信的api接口内部改变了,麻烦处理一下,谢谢!我们这个问题似乎前天也有人遇到了,帖子标题是