HarmonyOS setInterval中使用this报错BussinessError 401: Invalid parameter

HarmonyOS setInterval中使用this报错BussinessError 401: Invalid parameter -鸿蒙开发者社区

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

造成此问题的可能原因:

1、重复创建createGattClientDevice。

2、没调用获取所有服务getServices()。

3、this指向有问题,建议后续参考demo,改写一下。

示例如下:

writeCharacteristicValue() {
  if (!this.gattServiceInfo) {
    this.characteristicValue = '';
    console.log('BluetoothPage bluetooth gattServiceInfo is undefined ');
    return
  }
  let services: ble.GattService = this.gattServiceInfo;

  let descriptors: Array<ble.BLEDescriptor> = [];
  let descriptor: ble.BLEDescriptor = {
    serviceUuid: services.serviceUuid,
    characteristicUuid: services.characteristics[0].characteristicUuid,
    descriptorUuid: services.characteristics[0].descriptors[0].descriptorUuid,
    descriptorValue: services.characteristics[0].descriptors[0].descriptorValue
  };
  descriptors[0] = descriptor;

  let characteristic: ble.BLECharacteristic = {
    serviceUuid: services.serviceUuid,
    characteristicUuid: services.characteristics[0].characteristicUuid,
    characteristicValue: Utils.string2ArrayBuffer(this.cValue),
    descriptors: descriptors
  };
  try {
    if (this.gattClient) {
      this.gattClient.writeCharacteristicValue(characteristic, ble.GattWriteType.WRITE);
      promptAction.showToast({
        message: '特征值写结束'
      })
      console.log('BluetoothPage writeCharacteristicValue finish');
    }
  } catch (err) {
    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 使用 createX509Cert 报错 401
47浏览 • 1回复 待解决
HarmonyOS setInterval()使用
77浏览 • 1回复 待解决
使用安装命令报错install invalid hap size
7623浏览 • 1回复 待解决
HarmonyOS createX509Cert失败 报错401
533浏览 • 1回复 待解决
HarmonyOS 在依赖library中使用worker报错
358浏览 • 1回复 待解决
DevEco编译报错Invalid JavaScript file path
3727浏览 • 0回复 待解决
jenkins容器中使用docker报错问题
7568浏览 • 2回复 待解决
在image组件中使用bindContextMenu报错
479浏览 • 1回复 待解决
在自定义组件中使用@ObjectLink报错
1351浏览 • 1回复 待解决