大美妞
大美妞
  • 发布:2021-01-08 18:14
  • 更新:2022-11-16 14:48
  • 阅读:5587

启用 notify启用成功后onBLECharacteristicValueChange监听不到变化

分类:HBuilderX
onBLECharacteristicValueChange() {  
            console.log('监听tizengzhi变化')  
            // 必须在这里的回调才能获取  
            uni.onBLECharacteristicValueChange((characteristic) => {  
                console.log('监听低功耗蓝牙设备的特征值变化事件成功');  
                console.log(JSON.stringify(characteristic));  
                this.valueChangeData = characteristic  
            });  
        },  
        /**  
         * 订阅操作成功后需要设备主动更新特征值的 value,才会触发 uni.onBLECharacteristicValueChange 回调。  
         */  
        notifyBLECharacteristicValueChange() {  
            let self = this;  
            let deviceId = this.equipment[0].deviceId;  
            let serviceId = this.servicesData[0].uuid;  
            let characteristicId = this.characteristicsData[0].uuid;  
            let notify = this.characteristicsData[0].properties.notify;  
            console.log(deviceId,'设备id+1');  
            console.log(serviceId);  
            console.log(characteristicId,'设备特征值+1');  
            console.log(notify);  
            uni.notifyBLECharacteristicValueChange({  
                state: true, // 启用 notify 功能  
                // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接  
                deviceId,  
                // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取  
                serviceId,  
                // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取  
                characteristicId,  
                success: (res) => {  
                    console.log('notifyBLECharacteristicValueChange success:' + res.errMsg);  
                    console.log(res, '功能启用');  
                    setTimeout(() => {  
                        this.onBLECharacteristicValueChange()  

                    }, 1000)  
                }  
            });  
        },  

uni.onBLECharacteristicValueChange((characteristic) => {
console.log('监听低功耗蓝牙设备的特征值变化事件成功');
console.log(JSON.stringify(characteristic));
this.valueChangeData = characteristic
});这个方法就是不起效果监听不到变化

2021-01-08 18:14 负责人:无 分享
已邀请:
i***@126.com

i***@126.com

找了很久的问题,分享我的解决办法防止内耗。

4***@qq.com

4***@qq.com

是否对象指针错了?
setTimeout(() => {
self .onBLECharacteristicValueChange()

                }, 1000)   

这样试一下

yaomu

yaomu

问题解决了吗,我遇到同样的问题,求解

  • 3***@qq.com

    解决了吗,遇到同样的问题

    2021-11-11 17:38

  • yaomu

    回复 3***@qq.com: 解决了

    2021-12-09 09:54

  • yaomu

    回复 3***@qq.com: 直接输出没有值,需要转十六进制输出

    2021-12-09 10:00

  • 阿_怪

    回复 1***@qq.com: 怎么搞的可以说说吗

    2022-05-10 16:51

该问题目前已经被锁定, 无法添加新回复