之前访问蓝牙都是用的plus.bluetooth,没什么问题,后来发现uni也公布了api,看起来和plus没什么区别,于是就全改成了uni的api,其他功能测试下来都没发现问题,只有uni.notifyBLECharacteristicValueChange和uni.onBLECharacteristicValueChange配合使用的时候发现在调用uni.notifyBLECharacteristicValueChange的时候不成功,不管是success、fail还是complete都没有反应,在读写Characteristic的时候也没有监听到结果,于是换回plus,又没问题了,uni.onBLECharacteristicValueChange也是同样的问题,不知道是不是bug,希望官方查证一下。
以下是代码:
startCharacteristicsNotify() {
var p = this;
uni.notifyBLECharacteristicValueChange({
state: true,
deviceId: p.devId,
serviceId: p.serId,
characteristicId: p.chaId1,
success(e) {
var characteristics = e.characteristics;
console.log('get characteristics success: ' + JSON.stringify(e));
for (var i in characteristics) {
p.log(i + ': ' + JSON.stringify(characteristics[i]));
}
},
fail(e) {
p.log('get characteristics failed: ' + JSON.stringify(e));
},
complete(e) {
p.log('get characteristics complete: ' + JSON.stringify(e));
}
});
uni.onBLECharacteristicValueChange(function(e) {
p.log('characteristics value changed: ' + JSON.stringify(e));
p.log('Value:' + p.buf2hex(e.value).trim());
});
}
IDE运行环境说明
[HBuilderX]
[1.3.7]
[windows7]
App运行环境说明
[Android8.0]
[华为荣耀8]
联系方式
[3806994]
3 个回复
f***@qq.com - balbal
安卓上面就会,测试小米华为都不行监听
2***@qq.com
这个问题有解决吗?
yaomu
plus.bluetooth.onBLECharacteristicValueChange回调不执行是什么问题呢?