HarmonyOS 蓝牙key模块?

蓝牙key模块setCharacteristicChangeNotification后无法在BLECharacteristicChange订阅事件中监听到特征值变化

步骤:

1、调用setCharacteristicChangeNotification接口,使characteristic的notify属性为true

2、调用writeDescriptorValue接口,把characteristic的descriptor值设置为{0x01, 0x00}

3、调用writeCharacteristicValue接口,把7字节数据发送给主设备成功

4、在BLECharacteristicChange回调中无法监听到返回数据

阅读 773
1 个回答

如果设备本身支持写数据后有数据返回,需要排查下writeCharacteristicValue的接口方式是否和设备会返回数据的服务有出入,可参考如下:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-connectivity-kit/js-apis-bluetooth-ble.md\#blecharacteristic

let bufferCCC = new ArrayBuffer(8);
let cccV = new Uint8Array(bufferCCC);
cccV[0] = 0;
let characteristic: ble.BLECharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
  characteristicValue: bufferCCC, descriptors:descriptors};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进