startNotice() {
var that = this;
uni.notifyBLECharacteristicValueChange({
state: true, // 启用 notify 功能
deviceId: that.deviceId,
serviceId: that.services, //服务UUID
characteristicId: that.notifyUuid, //特征 UUID(设备 TO 手机 APP)
success(res) {
//接收蓝牙返回消息
console.log('通知已启用', res);
setTimeout(function() {
that.onBLECharacteristicValueChange()
// that.sendMy(that.writeUuid);
}, 500);
},
fail(err) {
console.log("反回数据失败", err)
}
})
},
onBLECharacteristicValueChange() {
uni.onBLECharacteristicValueChange(r => {
console.log('???');
// 结果里有个value值,该值为 ArrayBuffer 类型,所以在控制台无法用肉眼观察到,必须将该值转换为16进制
console.log('onBLECharacteristicValueChange');
// 最后将16进制转换为ascii码,就能看到对应的结果
let resHex = that.ab2hex(r.value)
let result = that.hexCharCodeToStr(resHex)
console.log(result)
uni.closeBLEConnection({
deviceId,
})
uni.closeBluetoothAdapter()
})
},
最快的方式就是debug