时间:2019-05-03 来源:小程序工厂
韬***:
你好,如果onBLECharacteristicValueChange接口回调不稳定,请保证notifyBLECharacteristicValueChange已经调用成功,并且对应的蓝牙周边设备工作正常。
如果已经排除后两者的原因,那么请提供机型,微信版本,公共库版本等信息,这样有助于进一步定位问题
虾***:
iphone6splus 微信:6.5.22 工具库:1.6.0 微信号:lilinjie5941
在android系统下,写入命令后(每次写入),会有notify返回写入结果;在ios里写入,只会出现一次,而在蓝牙设备进行操作时,又可以监听到数据。
notifyBLECharacteristicValueChange,已经调用成功,而且尝试过延时调用onBLECharacteristicValueChange,也是不可以的。
虾***:
已定位到原因: 是向后监听。
wx.notifyBLECharacteristicValueChange({
state: true, // 启用 notify 功能
deviceId: deviceId,
serviceId: serviceId,
characteristicId: ncharacteristicId,
success: function (res) {
console.log('nt-su-ad', res)
wx.onBLECharacteristicValueChange(function (res) {
let tmp = _radix.buf2mac(res.value)
console.log('cc-ch-adss', tmp)
if (tmp != '' && tmp != undefined && tmp != null) {
that.setData({
mac: tmp
})
setTimeout(
function () {
wx.writeBLECharacteristicValue({
deviceId: deviceId,
serviceId: serviceId,
characteristicId: wcharacteristicId,
value: com3,
success: function (res) {
console.log('wt-suc-adss', res)
},
fail: function (res) {
// console.log(res)
console.log('wt-err-adss', res)
}
})
}, 2000)
},
fail: function (res) {
// console.log(res)
console.log('nt-err-ad', res)
}
})