1e41f4b71Sopenharmony_ci# @ohos.bluetoothManager (蓝牙) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci蓝牙模块提供了基础的传统蓝牙能力以及BLE的扫描、广播等功能。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8e41f4b71Sopenharmony_ci> 从API Version 10 开始,该接口不再维护,推荐使用[`@ohos.bluetooth.ble`](js-apis-bluetooth-ble.md)等相关profile接口。 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci## 导入模块 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci```js 15e41f4b71Sopenharmony_ciimport bluetoothManager from '@ohos.bluetoothManager'; 16e41f4b71Sopenharmony_ci``` 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci## bluetoothManager.enableBluetooth<sup>(deprecated)</sup> 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_cienableBluetooth(): void 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci开启蓝牙。 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci> **说明:**<br/> 26e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[access.enableBluetooth](js-apis-bluetooth-access.md#accessenablebluetooth)替代。 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci**错误码**: 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 38e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 39e41f4b71Sopenharmony_ci|201 | Permission denied. | 40e41f4b71Sopenharmony_ci|801 | Capability not supported. | 41e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 42e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci**示例:** 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci```js 47e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 48e41f4b71Sopenharmony_citry { 49e41f4b71Sopenharmony_ci bluetoothManager.enableBluetooth(); 50e41f4b71Sopenharmony_ci} catch (err) { 51e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 52e41f4b71Sopenharmony_ci} 53e41f4b71Sopenharmony_ci``` 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci 56e41f4b71Sopenharmony_ci## bluetoothManager.disableBluetooth<sup>(deprecated)</sup> 57e41f4b71Sopenharmony_ci 58e41f4b71Sopenharmony_cidisableBluetooth(): void 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci关闭蓝牙。 61e41f4b71Sopenharmony_ci 62e41f4b71Sopenharmony_ci> **说明:**<br/> 63e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[access.disableBluetooth](js-apis-bluetooth-access.md#accessdisablebluetooth)替代。 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci**错误码**: 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 74e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 75e41f4b71Sopenharmony_ci|201 | Permission denied. | 76e41f4b71Sopenharmony_ci|801 | Capability not supported. | 77e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 78e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ci**示例:** 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_ci```js 83e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 84e41f4b71Sopenharmony_citry { 85e41f4b71Sopenharmony_ci bluetoothManager.disableBluetooth(); 86e41f4b71Sopenharmony_ci} catch (err) { 87e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ", errMessage:" + (err as BusinessError).message); 88e41f4b71Sopenharmony_ci} 89e41f4b71Sopenharmony_ci``` 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ci## bluetoothManager.getLocalName<sup>(deprecated)</sup> 93e41f4b71Sopenharmony_ci 94e41f4b71Sopenharmony_cigetLocalName(): string 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ci获取蓝牙本地设备名称。 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ci> **说明:**<br/> 99e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.getLocalName](js-apis-bluetooth-connection.md#connectiongetlocalname)替代。 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 102e41f4b71Sopenharmony_ci 103e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 104e41f4b71Sopenharmony_ci 105e41f4b71Sopenharmony_ci**返回值:** 106e41f4b71Sopenharmony_ci 107e41f4b71Sopenharmony_ci| 类型 | 说明 | 108e41f4b71Sopenharmony_ci| ------ | --------- | 109e41f4b71Sopenharmony_ci| string | 蓝牙本地设备名称。 | 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci**错误码**: 112e41f4b71Sopenharmony_ci 113e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 114e41f4b71Sopenharmony_ci 115e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 116e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 117e41f4b71Sopenharmony_ci|201 | Permission denied. | 118e41f4b71Sopenharmony_ci|801 | Capability not supported. | 119e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 120e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci**示例:** 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci```js 125e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 126e41f4b71Sopenharmony_citry { 127e41f4b71Sopenharmony_ci let localName: string = bluetoothManager.getLocalName(); 128e41f4b71Sopenharmony_ci} catch (err) { 129e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 130e41f4b71Sopenharmony_ci} 131e41f4b71Sopenharmony_ci``` 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ci## bluetoothManager.getState<sup>(deprecated)</sup> 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_cigetState(): BluetoothState 137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ci获取蓝牙开关状态。 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci> **说明:**<br/> 141e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[access.getState](js-apis-bluetooth-access.md#accessgetstate)替代。 142e41f4b71Sopenharmony_ci 143e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 144e41f4b71Sopenharmony_ci 145e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 146e41f4b71Sopenharmony_ci 147e41f4b71Sopenharmony_ci**返回值:** 148e41f4b71Sopenharmony_ci 149e41f4b71Sopenharmony_ci| 类型 | 说明 | 150e41f4b71Sopenharmony_ci| --------------------------------- | --------- | 151e41f4b71Sopenharmony_ci| [BluetoothState](#bluetoothstatedeprecated) | 表示蓝牙开关状态。 | 152e41f4b71Sopenharmony_ci 153e41f4b71Sopenharmony_ci**错误码**: 154e41f4b71Sopenharmony_ci 155e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 156e41f4b71Sopenharmony_ci 157e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 158e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 159e41f4b71Sopenharmony_ci|201 | Permission denied. | 160e41f4b71Sopenharmony_ci|801 | Capability not supported. | 161e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 162e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_ci**示例:** 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_ci```js 167e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 168e41f4b71Sopenharmony_citry { 169e41f4b71Sopenharmony_ci let state: bluetoothManager.BluetoothState = bluetoothManager.getState(); 170e41f4b71Sopenharmony_ci} catch (err) { 171e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 172e41f4b71Sopenharmony_ci} 173e41f4b71Sopenharmony_ci``` 174e41f4b71Sopenharmony_ci 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ci## bluetoothManager.getBtConnectionState<sup>(deprecated)</sup> 177e41f4b71Sopenharmony_ci 178e41f4b71Sopenharmony_cigetBtConnectionState(): ProfileConnectionState 179e41f4b71Sopenharmony_ci 180e41f4b71Sopenharmony_ci获取蓝牙本端的Profile连接状态,例如:任意一个支持的Profile连接状态为已连接,则此接口返回状态为已连接。 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci> **说明:**<br/> 183e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.getProfileConnectionState](js-apis-bluetooth-connection.md#connectiongetprofileconnectionstate)替代。 184e41f4b71Sopenharmony_ci 185e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 186e41f4b71Sopenharmony_ci 187e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 188e41f4b71Sopenharmony_ci 189e41f4b71Sopenharmony_ci**返回值:** 190e41f4b71Sopenharmony_ci 191e41f4b71Sopenharmony_ci| 类型 | 说明 | 192e41f4b71Sopenharmony_ci| ---------------------------------------- | ------------------- | 193e41f4b71Sopenharmony_ci| [ProfileConnectionState](#profileconnectionstatedeprecated) | 表示蓝牙设备的Profile连接状态。 | 194e41f4b71Sopenharmony_ci 195e41f4b71Sopenharmony_ci**错误码**: 196e41f4b71Sopenharmony_ci 197e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 200e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 201e41f4b71Sopenharmony_ci|201 | Permission denied. | 202e41f4b71Sopenharmony_ci|801 | Capability not supported. | 203e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 204e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 205e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 206e41f4b71Sopenharmony_ci 207e41f4b71Sopenharmony_ci**示例:** 208e41f4b71Sopenharmony_ci 209e41f4b71Sopenharmony_ci```js 210e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 211e41f4b71Sopenharmony_citry { 212e41f4b71Sopenharmony_ci let connectionState: bluetoothManager.ProfileConnectionState = bluetoothManager.getBtConnectionState(); 213e41f4b71Sopenharmony_ci} catch (err) { 214e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 215e41f4b71Sopenharmony_ci} 216e41f4b71Sopenharmony_ci``` 217e41f4b71Sopenharmony_ci 218e41f4b71Sopenharmony_ci 219e41f4b71Sopenharmony_ci## bluetoothManager.setLocalName<sup>(deprecated)</sup> 220e41f4b71Sopenharmony_ci 221e41f4b71Sopenharmony_cisetLocalName(name: string): void 222e41f4b71Sopenharmony_ci 223e41f4b71Sopenharmony_ci设置蓝牙本地设备名称。 224e41f4b71Sopenharmony_ci 225e41f4b71Sopenharmony_ci> **说明:**<br/> 226e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.setLocalName](js-apis-bluetooth-connection.md#connectionsetlocalname)替代。 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 229e41f4b71Sopenharmony_ci 230e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ci**参数:** 233e41f4b71Sopenharmony_ci 234e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 235e41f4b71Sopenharmony_ci| ---- | ------ | ---- | --------------------- | 236e41f4b71Sopenharmony_ci| name | string | 是 | 要设置的蓝牙名称,最大长度为248字节数。 | 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ci**错误码**: 239e41f4b71Sopenharmony_ci 240e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 241e41f4b71Sopenharmony_ci 242e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 243e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 244e41f4b71Sopenharmony_ci|201 | Permission denied. | 245e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 246e41f4b71Sopenharmony_ci|801 | Capability not supported. | 247e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 248e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 249e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 250e41f4b71Sopenharmony_ci 251e41f4b71Sopenharmony_ci**示例:** 252e41f4b71Sopenharmony_ci 253e41f4b71Sopenharmony_ci```js 254e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 255e41f4b71Sopenharmony_citry { 256e41f4b71Sopenharmony_ci bluetoothManager.setLocalName('device_name'); 257e41f4b71Sopenharmony_ci} catch (err) { 258e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 259e41f4b71Sopenharmony_ci} 260e41f4b71Sopenharmony_ci``` 261e41f4b71Sopenharmony_ci 262e41f4b71Sopenharmony_ci 263e41f4b71Sopenharmony_ci## bluetoothManager.pairDevice<sup>(deprecated)</sup> 264e41f4b71Sopenharmony_ci 265e41f4b71Sopenharmony_cipairDevice(deviceId: string): void 266e41f4b71Sopenharmony_ci 267e41f4b71Sopenharmony_ci发起蓝牙配对。 268e41f4b71Sopenharmony_ci 269e41f4b71Sopenharmony_ci> **说明:**<br/> 270e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.pairDevice](js-apis-bluetooth-connection.md#connectionpairdevice)替代。 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ci**参数:** 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 279e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ----------------------------------- | 280e41f4b71Sopenharmony_ci| deviceId | string | 是 | 表示配对的远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci**错误码**: 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 287e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 288e41f4b71Sopenharmony_ci|201 | Permission denied. | 289e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 290e41f4b71Sopenharmony_ci|801 | Capability not supported. | 291e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 292e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 293e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 294e41f4b71Sopenharmony_ci 295e41f4b71Sopenharmony_ci**示例:** 296e41f4b71Sopenharmony_ci 297e41f4b71Sopenharmony_ci```js 298e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 299e41f4b71Sopenharmony_citry { 300e41f4b71Sopenharmony_ci // 实际的地址可由扫描流程获取 301e41f4b71Sopenharmony_ci bluetoothManager.pairDevice("XX:XX:XX:XX:XX:XX"); 302e41f4b71Sopenharmony_ci} catch (err) { 303e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 304e41f4b71Sopenharmony_ci} 305e41f4b71Sopenharmony_ci``` 306e41f4b71Sopenharmony_ci 307e41f4b71Sopenharmony_ci 308e41f4b71Sopenharmony_ci## bluetoothManager.getProfileConnectionState<sup>(deprecated)</sup> 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_cigetProfileConnectionState(profileId: ProfileId): ProfileConnectionState 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_ci依据ProfileId获取指定profile的连接状态。 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ci> **说明:**<br/> 315e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.getProfileConnectionState](js-apis-bluetooth-connection.md#connectiongetprofileconnectionstate)替代。 316e41f4b71Sopenharmony_ci 317e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 318e41f4b71Sopenharmony_ci 319e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 320e41f4b71Sopenharmony_ci 321e41f4b71Sopenharmony_ci**参数:** 322e41f4b71Sopenharmony_ci 323e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 324e41f4b71Sopenharmony_ci| --------- | --------- | ---- | ------------------------------------- | 325e41f4b71Sopenharmony_ci| profileId | ProfileId | 是 | 表示profile的枚举值,例如:PROFILE_A2DP_SOURCE。 | 326e41f4b71Sopenharmony_ci 327e41f4b71Sopenharmony_ci**返回值:** 328e41f4b71Sopenharmony_ci 329e41f4b71Sopenharmony_ci| 类型 | 说明 | 330e41f4b71Sopenharmony_ci| ------------------------------------------------- | ------------------- | 331e41f4b71Sopenharmony_ci| [ProfileConnectionState](#profileconnectionstatedeprecated) | profile的连接状态。 | 332e41f4b71Sopenharmony_ci 333e41f4b71Sopenharmony_ci**错误码**: 334e41f4b71Sopenharmony_ci 335e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 338e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 339e41f4b71Sopenharmony_ci|201 | Permission denied. | 340e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 341e41f4b71Sopenharmony_ci|801 | Capability not supported. | 342e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 343e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 344e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 345e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 346e41f4b71Sopenharmony_ci 347e41f4b71Sopenharmony_ci**示例:** 348e41f4b71Sopenharmony_ci 349e41f4b71Sopenharmony_ci```js 350e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 351e41f4b71Sopenharmony_citry { 352e41f4b71Sopenharmony_ci let result: bluetoothManager.ProfileConnectionState = bluetoothManager.getProfileConnectionState(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE); 353e41f4b71Sopenharmony_ci} catch (err) { 354e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 355e41f4b71Sopenharmony_ci} 356e41f4b71Sopenharmony_ci``` 357e41f4b71Sopenharmony_ci 358e41f4b71Sopenharmony_ci 359e41f4b71Sopenharmony_ci 360e41f4b71Sopenharmony_ci## bluetoothManager.getRemoteDeviceName<sup>(deprecated)</sup> 361e41f4b71Sopenharmony_ci 362e41f4b71Sopenharmony_cigetRemoteDeviceName(deviceId: string): string 363e41f4b71Sopenharmony_ci 364e41f4b71Sopenharmony_ci获取对端蓝牙设备的名称。 365e41f4b71Sopenharmony_ci 366e41f4b71Sopenharmony_ci> **说明:**<br/> 367e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.getRemoteDeviceName](js-apis-bluetooth-connection.md#connectiongetremotedevicename)替代。 368e41f4b71Sopenharmony_ci 369e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 370e41f4b71Sopenharmony_ci 371e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 372e41f4b71Sopenharmony_ci 373e41f4b71Sopenharmony_ci**参数:** 374e41f4b71Sopenharmony_ci 375e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 376e41f4b71Sopenharmony_ci| -------- | ------ | ---- | --------------------------------- | 377e41f4b71Sopenharmony_ci| deviceId | string | 是 | 表示远程设备的地址,例如:"XX:XX:XX:XX:XX:XX"。 | 378e41f4b71Sopenharmony_ci 379e41f4b71Sopenharmony_ci**返回值:** 380e41f4b71Sopenharmony_ci 381e41f4b71Sopenharmony_ci| 类型 | 说明 | 382e41f4b71Sopenharmony_ci| ------ | ------------- | 383e41f4b71Sopenharmony_ci| string | 以字符串格式返回设备名称。 | 384e41f4b71Sopenharmony_ci 385e41f4b71Sopenharmony_ci**错误码**: 386e41f4b71Sopenharmony_ci 387e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 388e41f4b71Sopenharmony_ci 389e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 390e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 391e41f4b71Sopenharmony_ci|201 | Permission denied. | 392e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 393e41f4b71Sopenharmony_ci|801 | Capability not supported. | 394e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 395e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 396e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 397e41f4b71Sopenharmony_ci 398e41f4b71Sopenharmony_ci**示例:** 399e41f4b71Sopenharmony_ci 400e41f4b71Sopenharmony_ci```js 401e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 402e41f4b71Sopenharmony_citry { 403e41f4b71Sopenharmony_ci let remoteDeviceName: string = bluetoothManager.getRemoteDeviceName("XX:XX:XX:XX:XX:XX"); 404e41f4b71Sopenharmony_ci} catch (err) { 405e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 406e41f4b71Sopenharmony_ci} 407e41f4b71Sopenharmony_ci``` 408e41f4b71Sopenharmony_ci 409e41f4b71Sopenharmony_ci 410e41f4b71Sopenharmony_ci## bluetoothManager.getRemoteDeviceClass<sup>(deprecated)</sup> 411e41f4b71Sopenharmony_ci 412e41f4b71Sopenharmony_cigetRemoteDeviceClass(deviceId: string): DeviceClass 413e41f4b71Sopenharmony_ci 414e41f4b71Sopenharmony_ci获取对端蓝牙设备的类别。 415e41f4b71Sopenharmony_ci 416e41f4b71Sopenharmony_ci> **说明:**<br/> 417e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.getRemoteDeviceClass](js-apis-bluetooth-connection.md#connectiongetremotedeviceclass)替代。 418e41f4b71Sopenharmony_ci 419e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 420e41f4b71Sopenharmony_ci 421e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 422e41f4b71Sopenharmony_ci 423e41f4b71Sopenharmony_ci**参数:** 424e41f4b71Sopenharmony_ci 425e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 426e41f4b71Sopenharmony_ci| -------- | ------ | ---- | --------------------------------- | 427e41f4b71Sopenharmony_ci| deviceId | string | 是 | 表示远程设备的地址,例如:"XX:XX:XX:XX:XX:XX"。 | 428e41f4b71Sopenharmony_ci 429e41f4b71Sopenharmony_ci**返回值:** 430e41f4b71Sopenharmony_ci 431e41f4b71Sopenharmony_ci| 类型 | 说明 | 432e41f4b71Sopenharmony_ci| --------------------------- | -------- | 433e41f4b71Sopenharmony_ci| [DeviceClass](#deviceclassdeprecated) | 远程设备的类别。 | 434e41f4b71Sopenharmony_ci 435e41f4b71Sopenharmony_ci**错误码**: 436e41f4b71Sopenharmony_ci 437e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 440e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 441e41f4b71Sopenharmony_ci|201 | Permission denied. | 442e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 443e41f4b71Sopenharmony_ci|801 | Capability not supported. | 444e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 445e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 446e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 447e41f4b71Sopenharmony_ci 448e41f4b71Sopenharmony_ci**示例:** 449e41f4b71Sopenharmony_ci 450e41f4b71Sopenharmony_ci```js 451e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 452e41f4b71Sopenharmony_citry { 453e41f4b71Sopenharmony_ci let remoteDeviceClass: bluetoothManager.DeviceClass = bluetoothManager.getRemoteDeviceClass("XX:XX:XX:XX:XX:XX"); 454e41f4b71Sopenharmony_ci} catch (err) { 455e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 456e41f4b71Sopenharmony_ci} 457e41f4b71Sopenharmony_ci``` 458e41f4b71Sopenharmony_ci 459e41f4b71Sopenharmony_ci 460e41f4b71Sopenharmony_ci## bluetoothManager.getPairedDevices<sup>(deprecated)</sup> 461e41f4b71Sopenharmony_ci 462e41f4b71Sopenharmony_cigetPairedDevices(): Array<string> 463e41f4b71Sopenharmony_ci 464e41f4b71Sopenharmony_ci获取蓝牙配对列表。 465e41f4b71Sopenharmony_ci 466e41f4b71Sopenharmony_ci> **说明:**<br/> 467e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.getPairedDevices](js-apis-bluetooth-connection.md#connectiongetpaireddevices)替代。 468e41f4b71Sopenharmony_ci 469e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 470e41f4b71Sopenharmony_ci 471e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 472e41f4b71Sopenharmony_ci 473e41f4b71Sopenharmony_ci**返回值:** 474e41f4b71Sopenharmony_ci 475e41f4b71Sopenharmony_ci| 类型 | 说明 | 476e41f4b71Sopenharmony_ci| ------------------- | ------------- | 477e41f4b71Sopenharmony_ci| Array<string> | 已配对蓝牙设备的地址列表。 | 478e41f4b71Sopenharmony_ci 479e41f4b71Sopenharmony_ci**错误码**: 480e41f4b71Sopenharmony_ci 481e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 482e41f4b71Sopenharmony_ci 483e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 484e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 485e41f4b71Sopenharmony_ci|201 | Permission denied. | 486e41f4b71Sopenharmony_ci|801 | Capability not supported. | 487e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 488e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 489e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 490e41f4b71Sopenharmony_ci 491e41f4b71Sopenharmony_ci**示例:** 492e41f4b71Sopenharmony_ci 493e41f4b71Sopenharmony_ci```js 494e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 495e41f4b71Sopenharmony_citry { 496e41f4b71Sopenharmony_ci let devices: Array<string> = bluetoothManager.getPairedDevices(); 497e41f4b71Sopenharmony_ci} catch (err) { 498e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 499e41f4b71Sopenharmony_ci} 500e41f4b71Sopenharmony_ci``` 501e41f4b71Sopenharmony_ci 502e41f4b71Sopenharmony_ci 503e41f4b71Sopenharmony_ci## bluetoothManager.setBluetoothScanMode<sup>(deprecated)</sup> 504e41f4b71Sopenharmony_ci 505e41f4b71Sopenharmony_cisetBluetoothScanMode(mode: ScanMode, duration: number): void 506e41f4b71Sopenharmony_ci 507e41f4b71Sopenharmony_ci设置蓝牙扫描模式,可以被远端设备发现。 508e41f4b71Sopenharmony_ci 509e41f4b71Sopenharmony_ci> **说明:**<br/> 510e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.setBluetoothScanMode](js-apis-bluetooth-connection.md#connectionsetbluetoothscanmode)替代。 511e41f4b71Sopenharmony_ci 512e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 513e41f4b71Sopenharmony_ci 514e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 515e41f4b71Sopenharmony_ci 516e41f4b71Sopenharmony_ci**参数:** 517e41f4b71Sopenharmony_ci 518e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 519e41f4b71Sopenharmony_ci| -------- | --------------------- | ---- | ---------------------------- | 520e41f4b71Sopenharmony_ci| mode | [ScanMode](#scanmodedeprecated) | 是 | 蓝牙扫描模式。 | 521e41f4b71Sopenharmony_ci| duration | number | 是 | 设备可被发现的持续时间,单位为毫秒;设置为0则持续可发现。 | 522e41f4b71Sopenharmony_ci 523e41f4b71Sopenharmony_ci**错误码**: 524e41f4b71Sopenharmony_ci 525e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 526e41f4b71Sopenharmony_ci 527e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 528e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 529e41f4b71Sopenharmony_ci|201 | Permission denied. | 530e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 531e41f4b71Sopenharmony_ci|801 | Capability not supported. | 532e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 533e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 534e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 535e41f4b71Sopenharmony_ci 536e41f4b71Sopenharmony_ci**示例:** 537e41f4b71Sopenharmony_ci 538e41f4b71Sopenharmony_ci```js 539e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 540e41f4b71Sopenharmony_citry { 541e41f4b71Sopenharmony_ci // 设置为可连接可发现才可被远端设备扫描到,可以连接。 542e41f4b71Sopenharmony_ci bluetoothManager.setBluetoothScanMode(bluetoothManager.ScanMode.SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE, 100); 543e41f4b71Sopenharmony_ci} catch (err) { 544e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 545e41f4b71Sopenharmony_ci} 546e41f4b71Sopenharmony_ci``` 547e41f4b71Sopenharmony_ci 548e41f4b71Sopenharmony_ci 549e41f4b71Sopenharmony_ci## bluetoothManager.getBluetoothScanMode<sup>(deprecated)</sup> 550e41f4b71Sopenharmony_ci 551e41f4b71Sopenharmony_cigetBluetoothScanMode(): ScanMode 552e41f4b71Sopenharmony_ci 553e41f4b71Sopenharmony_ci获取蓝牙扫描模式。 554e41f4b71Sopenharmony_ci 555e41f4b71Sopenharmony_ci> **说明:**<br/> 556e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.getBluetoothScanMode](js-apis-bluetooth-connection.md#connectiongetbluetoothscanmode)替代。 557e41f4b71Sopenharmony_ci 558e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 559e41f4b71Sopenharmony_ci 560e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 561e41f4b71Sopenharmony_ci 562e41f4b71Sopenharmony_ci**返回值:** 563e41f4b71Sopenharmony_ci 564e41f4b71Sopenharmony_ci| 类型 | 说明 | 565e41f4b71Sopenharmony_ci| --------------------- | ------- | 566e41f4b71Sopenharmony_ci| [ScanMode](#scanmodedeprecated) | 蓝牙扫描模式。 | 567e41f4b71Sopenharmony_ci 568e41f4b71Sopenharmony_ci**错误码**: 569e41f4b71Sopenharmony_ci 570e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 571e41f4b71Sopenharmony_ci 572e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 573e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 574e41f4b71Sopenharmony_ci|201 | Permission denied. | 575e41f4b71Sopenharmony_ci|801 | Capability not supported. | 576e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 577e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 578e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 579e41f4b71Sopenharmony_ci 580e41f4b71Sopenharmony_ci**示例:** 581e41f4b71Sopenharmony_ci 582e41f4b71Sopenharmony_ci```js 583e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 584e41f4b71Sopenharmony_citry { 585e41f4b71Sopenharmony_ci let scanMode: bluetoothManager.ScanMode = bluetoothManager.getBluetoothScanMode(); 586e41f4b71Sopenharmony_ci} catch (err) { 587e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 588e41f4b71Sopenharmony_ci} 589e41f4b71Sopenharmony_ci``` 590e41f4b71Sopenharmony_ci 591e41f4b71Sopenharmony_ci 592e41f4b71Sopenharmony_ci## bluetoothManager.startBluetoothDiscovery<sup>(deprecated)</sup> 593e41f4b71Sopenharmony_ci 594e41f4b71Sopenharmony_cistartBluetoothDiscovery(): void 595e41f4b71Sopenharmony_ci 596e41f4b71Sopenharmony_ci开启蓝牙扫描,可以发现远端设备。 597e41f4b71Sopenharmony_ci 598e41f4b71Sopenharmony_ci> **说明:**<br/> 599e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.startBluetoothDiscovery](js-apis-bluetooth-connection.md#connectionstartbluetoothdiscovery)替代。 600e41f4b71Sopenharmony_ci 601e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 602e41f4b71Sopenharmony_ci 603e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 604e41f4b71Sopenharmony_ci 605e41f4b71Sopenharmony_ci**错误码**: 606e41f4b71Sopenharmony_ci 607e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 608e41f4b71Sopenharmony_ci 609e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 610e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 611e41f4b71Sopenharmony_ci|201 | Permission denied. | 612e41f4b71Sopenharmony_ci|801 | Capability not supported. | 613e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 614e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 615e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 616e41f4b71Sopenharmony_ci 617e41f4b71Sopenharmony_ci**示例:** 618e41f4b71Sopenharmony_ci 619e41f4b71Sopenharmony_ci```js 620e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 621e41f4b71Sopenharmony_cilet deviceId: Array<string>; 622e41f4b71Sopenharmony_cifunction onReceiveEvent(data: Array<string>) { 623e41f4b71Sopenharmony_ci deviceId = data; 624e41f4b71Sopenharmony_ci} 625e41f4b71Sopenharmony_citry { 626e41f4b71Sopenharmony_ci bluetoothManager.on('bluetoothDeviceFind', onReceiveEvent); 627e41f4b71Sopenharmony_ci bluetoothManager.startBluetoothDiscovery(); 628e41f4b71Sopenharmony_ci} catch (err) { 629e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 630e41f4b71Sopenharmony_ci} 631e41f4b71Sopenharmony_ci``` 632e41f4b71Sopenharmony_ci 633e41f4b71Sopenharmony_ci 634e41f4b71Sopenharmony_ci## bluetoothManager.stopBluetoothDiscovery<sup>(deprecated)</sup> 635e41f4b71Sopenharmony_ci 636e41f4b71Sopenharmony_cistopBluetoothDiscovery(): void 637e41f4b71Sopenharmony_ci 638e41f4b71Sopenharmony_ci关闭蓝牙扫描。 639e41f4b71Sopenharmony_ci 640e41f4b71Sopenharmony_ci> **说明:**<br/> 641e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.stopBluetoothDiscovery](js-apis-bluetooth-connection.md#connectionstopbluetoothdiscovery)替代。 642e41f4b71Sopenharmony_ci 643e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 644e41f4b71Sopenharmony_ci 645e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 646e41f4b71Sopenharmony_ci 647e41f4b71Sopenharmony_ci**错误码**: 648e41f4b71Sopenharmony_ci 649e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 650e41f4b71Sopenharmony_ci 651e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 652e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 653e41f4b71Sopenharmony_ci|201 | Permission denied. | 654e41f4b71Sopenharmony_ci|801 | Capability not supported. | 655e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 656e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 657e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 658e41f4b71Sopenharmony_ci 659e41f4b71Sopenharmony_ci**示例:** 660e41f4b71Sopenharmony_ci 661e41f4b71Sopenharmony_ci```js 662e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 663e41f4b71Sopenharmony_citry { 664e41f4b71Sopenharmony_ci bluetoothManager.stopBluetoothDiscovery(); 665e41f4b71Sopenharmony_ci} catch (err) { 666e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 667e41f4b71Sopenharmony_ci} 668e41f4b71Sopenharmony_ci``` 669e41f4b71Sopenharmony_ci 670e41f4b71Sopenharmony_ci 671e41f4b71Sopenharmony_ci## bluetoothManager.setDevicePairingConfirmation<sup>(deprecated)</sup> 672e41f4b71Sopenharmony_ci 673e41f4b71Sopenharmony_cisetDevicePairingConfirmation(device: string, accept: boolean): void 674e41f4b71Sopenharmony_ci 675e41f4b71Sopenharmony_ci设置设备配对请求确认。 676e41f4b71Sopenharmony_ci 677e41f4b71Sopenharmony_ci> **说明:**<br/> 678e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.setDevicePairingConfirmation](js-apis-bluetooth-connection.md#connectionsetdevicepairingconfirmation)替代。 679e41f4b71Sopenharmony_ci 680e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH(该权限仅系统应用可申请) 681e41f4b71Sopenharmony_ci 682e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 683e41f4b71Sopenharmony_ci 684e41f4b71Sopenharmony_ci**参数:** 685e41f4b71Sopenharmony_ci 686e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 687e41f4b71Sopenharmony_ci| ------ | ------- | ---- | -------------------------------- | 688e41f4b71Sopenharmony_ci| device | string | 是 | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 689e41f4b71Sopenharmony_ci| accept | boolean | 是 | 接受配对请求设置为true,否则设置为false。 | 690e41f4b71Sopenharmony_ci 691e41f4b71Sopenharmony_ci**错误码**: 692e41f4b71Sopenharmony_ci 693e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 694e41f4b71Sopenharmony_ci 695e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 696e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 697e41f4b71Sopenharmony_ci|201 | Permission denied. | 698e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 699e41f4b71Sopenharmony_ci|801 | Capability not supported. | 700e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 701e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 702e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 703e41f4b71Sopenharmony_ci 704e41f4b71Sopenharmony_ci**示例:** 705e41f4b71Sopenharmony_ci 706e41f4b71Sopenharmony_ci```js 707e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 708e41f4b71Sopenharmony_ci// 订阅“pinRequired”配对请求事件,收到远端配对请求后设置配对确认 709e41f4b71Sopenharmony_cifunction onReceivePinRequiredEvent(data: bluetoothManager.PinRequiredParam) { // data为配对请求的入参,配对请求参数 710e41f4b71Sopenharmony_ci console.info('pin required = '+ JSON.stringify(data)); 711e41f4b71Sopenharmony_ci bluetoothManager.setDevicePairingConfirmation(data.deviceId, true); 712e41f4b71Sopenharmony_ci} 713e41f4b71Sopenharmony_citry { 714e41f4b71Sopenharmony_ci bluetoothManager.on("pinRequired", onReceivePinRequiredEvent); 715e41f4b71Sopenharmony_ci} catch (err) { 716e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 717e41f4b71Sopenharmony_ci} 718e41f4b71Sopenharmony_ci``` 719e41f4b71Sopenharmony_ci 720e41f4b71Sopenharmony_ci 721e41f4b71Sopenharmony_ci## bluetoothManager.on('bluetoothDeviceFind')<sup>(deprecated)</sup> 722e41f4b71Sopenharmony_ci 723e41f4b71Sopenharmony_cion(type: 'bluetoothDeviceFind', callback: Callback<Array<string>>): void 724e41f4b71Sopenharmony_ci 725e41f4b71Sopenharmony_ci订阅蓝牙设备发现上报事件。 726e41f4b71Sopenharmony_ci 727e41f4b71Sopenharmony_ci> **说明:**<br/> 728e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.on('bluetoothDeviceFind')](js-apis-bluetooth-connection.md#connectiononbluetoothdevicefind)替代。 729e41f4b71Sopenharmony_ci 730e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 731e41f4b71Sopenharmony_ci 732e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 733e41f4b71Sopenharmony_ci 734e41f4b71Sopenharmony_ci**参数:** 735e41f4b71Sopenharmony_ci 736e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 737e41f4b71Sopenharmony_ci| -------- | ----------------------------------- | ---- | -------------------------------------- | 738e41f4b71Sopenharmony_ci| type | string | 是 | 填写"bluetoothDeviceFind"字符串,表示蓝牙设备发现事件。 | 739e41f4b71Sopenharmony_ci| callback | Callback<Array<string>> | 是 | 表示回调函数的入参,发现的设备集合。回调函数由用户创建通过该接口注册。 | 740e41f4b71Sopenharmony_ci 741e41f4b71Sopenharmony_ci**错误码**: 742e41f4b71Sopenharmony_ci 743e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 744e41f4b71Sopenharmony_ci 745e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 746e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 747e41f4b71Sopenharmony_ci|201 | Permission denied. | 748e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 749e41f4b71Sopenharmony_ci|801 | Capability not supported. | 750e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 751e41f4b71Sopenharmony_ci 752e41f4b71Sopenharmony_ci**示例:** 753e41f4b71Sopenharmony_ci 754e41f4b71Sopenharmony_ci```js 755e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 756e41f4b71Sopenharmony_cifunction onReceiveEvent(data: Array<string>) { // data为蓝牙设备地址集合 757e41f4b71Sopenharmony_ci console.info('bluetooth device find = '+ JSON.stringify(data)); 758e41f4b71Sopenharmony_ci} 759e41f4b71Sopenharmony_citry { 760e41f4b71Sopenharmony_ci bluetoothManager.on('bluetoothDeviceFind', onReceiveEvent); 761e41f4b71Sopenharmony_ci} catch (err) { 762e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 763e41f4b71Sopenharmony_ci} 764e41f4b71Sopenharmony_ci``` 765e41f4b71Sopenharmony_ci 766e41f4b71Sopenharmony_ci 767e41f4b71Sopenharmony_ci## bluetoothManager.off('bluetoothDeviceFind')<sup>(deprecated)</sup> 768e41f4b71Sopenharmony_ci 769e41f4b71Sopenharmony_cioff(type: 'bluetoothDeviceFind', callback?: Callback<Array<string>>): void 770e41f4b71Sopenharmony_ci 771e41f4b71Sopenharmony_ci取消订阅蓝牙设备发现上报事件。 772e41f4b71Sopenharmony_ci 773e41f4b71Sopenharmony_ci> **说明:**<br/> 774e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.off('bluetoothDeviceFind')](js-apis-bluetooth-connection.md#connectionoffbluetoothdevicefind)替代。 775e41f4b71Sopenharmony_ci 776e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 777e41f4b71Sopenharmony_ci 778e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 779e41f4b71Sopenharmony_ci 780e41f4b71Sopenharmony_ci**参数:** 781e41f4b71Sopenharmony_ci 782e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 783e41f4b71Sopenharmony_ci| -------- | ----------------------------------- | ---- | ---------------------------------------- | 784e41f4b71Sopenharmony_ci| type | string | 是 | 填写"bluetoothDeviceFind"字符串,表示蓝牙设备发现事件。 | 785e41f4b71Sopenharmony_ci| callback | Callback<Array<string>> | 否 | 表示取消订阅蓝牙设备发现事件上报。不填该参数则取消订阅该type对应的所有回调。 | 786e41f4b71Sopenharmony_ci 787e41f4b71Sopenharmony_ci**错误码**: 788e41f4b71Sopenharmony_ci 789e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 790e41f4b71Sopenharmony_ci 791e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 792e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 793e41f4b71Sopenharmony_ci|201 | Permission denied. | 794e41f4b71Sopenharmony_ci|801 | Capability not supported. | 795e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 796e41f4b71Sopenharmony_ci 797e41f4b71Sopenharmony_ci**示例:** 798e41f4b71Sopenharmony_ci 799e41f4b71Sopenharmony_ci```js 800e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 801e41f4b71Sopenharmony_cifunction onReceiveEvent(data: Array<string>) { 802e41f4b71Sopenharmony_ci console.info('bluetooth device find = '+ JSON.stringify(data)); 803e41f4b71Sopenharmony_ci} 804e41f4b71Sopenharmony_citry { 805e41f4b71Sopenharmony_ci bluetoothManager.on('bluetoothDeviceFind', onReceiveEvent); 806e41f4b71Sopenharmony_ci bluetoothManager.off('bluetoothDeviceFind', onReceiveEvent); 807e41f4b71Sopenharmony_ci} catch (err) { 808e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 809e41f4b71Sopenharmony_ci} 810e41f4b71Sopenharmony_ci``` 811e41f4b71Sopenharmony_ci 812e41f4b71Sopenharmony_ci 813e41f4b71Sopenharmony_ci## bluetoothManager.on('pinRequired')<sup>(deprecated)</sup> 814e41f4b71Sopenharmony_ci 815e41f4b71Sopenharmony_cion(type: 'pinRequired', callback: Callback<PinRequiredParam>): void 816e41f4b71Sopenharmony_ci 817e41f4b71Sopenharmony_ci订阅远端蓝牙设备的配对请求事件。 818e41f4b71Sopenharmony_ci 819e41f4b71Sopenharmony_ci> **说明:**<br/> 820e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.on('pinRequired')](js-apis-bluetooth-connection.md#connectiononpinrequired)替代。 821e41f4b71Sopenharmony_ci 822e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 823e41f4b71Sopenharmony_ci 824e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 825e41f4b71Sopenharmony_ci 826e41f4b71Sopenharmony_ci**参数:** 827e41f4b71Sopenharmony_ci 828e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 829e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | -------------------------------- | 830e41f4b71Sopenharmony_ci| type | string | 是 | 填写"pinRequired"字符串,表示配对请求事件。 | 831e41f4b71Sopenharmony_ci| callback | Callback<[PinRequiredParam](#pinrequiredparamdeprecated)> | 是 | 表示回调函数的入参,配对请求。回调函数由用户创建通过该接口注册。 | 832e41f4b71Sopenharmony_ci 833e41f4b71Sopenharmony_ci**错误码**: 834e41f4b71Sopenharmony_ci 835e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 836e41f4b71Sopenharmony_ci 837e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 838e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 839e41f4b71Sopenharmony_ci|201 | Permission denied. | 840e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 841e41f4b71Sopenharmony_ci|801 | Capability not supported. | 842e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 843e41f4b71Sopenharmony_ci 844e41f4b71Sopenharmony_ci**示例:** 845e41f4b71Sopenharmony_ci 846e41f4b71Sopenharmony_ci```js 847e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 848e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.PinRequiredParam) { // data为配对请求参数 849e41f4b71Sopenharmony_ci console.info('pin required = '+ JSON.stringify(data)); 850e41f4b71Sopenharmony_ci} 851e41f4b71Sopenharmony_citry { 852e41f4b71Sopenharmony_ci bluetoothManager.on('pinRequired', onReceiveEvent); 853e41f4b71Sopenharmony_ci} catch (err) { 854e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 855e41f4b71Sopenharmony_ci} 856e41f4b71Sopenharmony_ci``` 857e41f4b71Sopenharmony_ci 858e41f4b71Sopenharmony_ci 859e41f4b71Sopenharmony_ci## bluetoothManager.off('pinRequired')<sup>(deprecated)</sup> 860e41f4b71Sopenharmony_ci 861e41f4b71Sopenharmony_cioff(type: 'pinRequired', callback?: Callback<PinRequiredParam>): void 862e41f4b71Sopenharmony_ci 863e41f4b71Sopenharmony_ci取消订阅远端蓝牙设备的配对请求事件。 864e41f4b71Sopenharmony_ci 865e41f4b71Sopenharmony_ci> **说明:**<br/> 866e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.off('pinRequired')](js-apis-bluetooth-connection.md#connectionoffpinrequired)替代。 867e41f4b71Sopenharmony_ci 868e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 869e41f4b71Sopenharmony_ci 870e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 871e41f4b71Sopenharmony_ci 872e41f4b71Sopenharmony_ci**参数:** 873e41f4b71Sopenharmony_ci 874e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 875e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 876e41f4b71Sopenharmony_ci| type | string | 是 | 填写"pinRequired"字符串,表示配对请求事件。 | 877e41f4b71Sopenharmony_ci| callback | Callback<[PinRequiredParam](#pinrequiredparamdeprecated)> | 否 | 表示取消订阅蓝牙配对请求事件上报,入参为配对请求参数。不填该参数则取消订阅该type对应的所有回调。 | 878e41f4b71Sopenharmony_ci 879e41f4b71Sopenharmony_ci**错误码**: 880e41f4b71Sopenharmony_ci 881e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 882e41f4b71Sopenharmony_ci 883e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 884e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 885e41f4b71Sopenharmony_ci|201 | Permission denied. | 886e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 887e41f4b71Sopenharmony_ci|801 | Capability not supported. | 888e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 889e41f4b71Sopenharmony_ci 890e41f4b71Sopenharmony_ci**示例:** 891e41f4b71Sopenharmony_ci 892e41f4b71Sopenharmony_ci```js 893e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 894e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.PinRequiredParam) { 895e41f4b71Sopenharmony_ci console.info('pin required = '+ JSON.stringify(data)); 896e41f4b71Sopenharmony_ci} 897e41f4b71Sopenharmony_citry { 898e41f4b71Sopenharmony_ci bluetoothManager.on('pinRequired', onReceiveEvent); 899e41f4b71Sopenharmony_ci bluetoothManager.off('pinRequired', onReceiveEvent); 900e41f4b71Sopenharmony_ci} catch (err) { 901e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 902e41f4b71Sopenharmony_ci} 903e41f4b71Sopenharmony_ci``` 904e41f4b71Sopenharmony_ci 905e41f4b71Sopenharmony_ci 906e41f4b71Sopenharmony_ci## bluetoothManager.on('bondStateChange')<sup>(deprecated)</sup> 907e41f4b71Sopenharmony_ci 908e41f4b71Sopenharmony_cion(type: 'bondStateChange', callback: Callback<BondStateParam>): void 909e41f4b71Sopenharmony_ci 910e41f4b71Sopenharmony_ci订阅蓝牙配对状态改变事件。 911e41f4b71Sopenharmony_ci 912e41f4b71Sopenharmony_ci> **说明:**<br/> 913e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.on('bondStateChange')](js-apis-bluetooth-connection.md#connectiononbondstatechange)替代。 914e41f4b71Sopenharmony_ci 915e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 916e41f4b71Sopenharmony_ci 917e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 918e41f4b71Sopenharmony_ci 919e41f4b71Sopenharmony_ci**参数:** 920e41f4b71Sopenharmony_ci 921e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 922e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ------------------------------------ | 923e41f4b71Sopenharmony_ci| type | string | 是 | 填写"bondStateChange"字符串,表示蓝牙配对状态改变事件。 | 924e41f4b71Sopenharmony_ci| callback | Callback<[BondStateParam](#bondstateparamdeprecated)> | 是 | 表示回调函数的入参,配对的状态。回调函数由用户创建通过该接口注册。 | 925e41f4b71Sopenharmony_ci 926e41f4b71Sopenharmony_ci**错误码**: 927e41f4b71Sopenharmony_ci 928e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 929e41f4b71Sopenharmony_ci 930e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 931e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 932e41f4b71Sopenharmony_ci|201 | Permission denied. | 933e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 934e41f4b71Sopenharmony_ci|801 | Capability not supported. | 935e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 936e41f4b71Sopenharmony_ci 937e41f4b71Sopenharmony_ci**示例:** 938e41f4b71Sopenharmony_ci 939e41f4b71Sopenharmony_ci```js 940e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 941e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.BondStateParam) { // data为回调函数入参,表示配对的状态 942e41f4b71Sopenharmony_ci console.info('pair state = '+ JSON.stringify(data)); 943e41f4b71Sopenharmony_ci} 944e41f4b71Sopenharmony_citry { 945e41f4b71Sopenharmony_ci bluetoothManager.on('bondStateChange', onReceiveEvent); 946e41f4b71Sopenharmony_ci} catch (err) { 947e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 948e41f4b71Sopenharmony_ci} 949e41f4b71Sopenharmony_ci``` 950e41f4b71Sopenharmony_ci 951e41f4b71Sopenharmony_ci 952e41f4b71Sopenharmony_ci## bluetoothManager.off('bondStateChange')<sup>(deprecated)</sup> 953e41f4b71Sopenharmony_ci 954e41f4b71Sopenharmony_cioff(type: 'bondStateChange', callback?: Callback<BondStateParam>): void 955e41f4b71Sopenharmony_ci 956e41f4b71Sopenharmony_ci取消订阅蓝牙配对状态改变事件。 957e41f4b71Sopenharmony_ci 958e41f4b71Sopenharmony_ci> **说明:**<br/> 959e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.off('bondStateChange')](js-apis-bluetooth-connection.md#connectionoffbondstatechange)替代。 960e41f4b71Sopenharmony_ci 961e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 962e41f4b71Sopenharmony_ci 963e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 964e41f4b71Sopenharmony_ci 965e41f4b71Sopenharmony_ci**参数:** 966e41f4b71Sopenharmony_ci 967e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 968e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 969e41f4b71Sopenharmony_ci| type | string | 是 | 填写"bondStateChange"字符串,表示蓝牙配对状态改变事件。 | 970e41f4b71Sopenharmony_ci| callback | Callback<[BondStateParam](#bondstateparamdeprecated)> | 否 | 表示取消订阅蓝牙配对状态改变事件上报。不填该参数则取消订阅该type对应的所有回调。 | 971e41f4b71Sopenharmony_ci 972e41f4b71Sopenharmony_ci**错误码**: 973e41f4b71Sopenharmony_ci 974e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 975e41f4b71Sopenharmony_ci 976e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 977e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 978e41f4b71Sopenharmony_ci|201 | Permission denied. | 979e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 980e41f4b71Sopenharmony_ci|801 | Capability not supported. | 981e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 982e41f4b71Sopenharmony_ci 983e41f4b71Sopenharmony_ci**示例:** 984e41f4b71Sopenharmony_ci 985e41f4b71Sopenharmony_ci```js 986e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 987e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.BondStateParam) { 988e41f4b71Sopenharmony_ci console.info('bond state = '+ JSON.stringify(data)); 989e41f4b71Sopenharmony_ci} 990e41f4b71Sopenharmony_citry { 991e41f4b71Sopenharmony_ci bluetoothManager.on('bondStateChange', onReceiveEvent); 992e41f4b71Sopenharmony_ci bluetoothManager.off('bondStateChange', onReceiveEvent); 993e41f4b71Sopenharmony_ci} catch (err) { 994e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 995e41f4b71Sopenharmony_ci} 996e41f4b71Sopenharmony_ci``` 997e41f4b71Sopenharmony_ci 998e41f4b71Sopenharmony_ci 999e41f4b71Sopenharmony_ci## bluetoothManager.on('stateChange')<sup>(deprecated)</sup> 1000e41f4b71Sopenharmony_ci 1001e41f4b71Sopenharmony_cion(type: 'stateChange', callback: Callback<BluetoothState>): void 1002e41f4b71Sopenharmony_ci 1003e41f4b71Sopenharmony_ci订阅蓝牙设备开关状态事件。 1004e41f4b71Sopenharmony_ci 1005e41f4b71Sopenharmony_ci> **说明:**<br/> 1006e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[access.on('stateChange')](js-apis-bluetooth-access.md#accessonstatechange)替代。 1007e41f4b71Sopenharmony_ci 1008e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1009e41f4b71Sopenharmony_ci 1010e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1011e41f4b71Sopenharmony_ci 1012e41f4b71Sopenharmony_ci**参数:** 1013e41f4b71Sopenharmony_ci 1014e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1015e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | -------------------------------- | 1016e41f4b71Sopenharmony_ci| type | string | 是 | 填写"stateChange"字符串,表示蓝牙状态改变事件。 | 1017e41f4b71Sopenharmony_ci| callback | Callback<[BluetoothState](#bluetoothstatedeprecated)> | 是 | 表示回调函数的入参,蓝牙状态。回调函数由用户创建通过该接口注册。 | 1018e41f4b71Sopenharmony_ci 1019e41f4b71Sopenharmony_ci**错误码**: 1020e41f4b71Sopenharmony_ci 1021e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1022e41f4b71Sopenharmony_ci 1023e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1024e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1025e41f4b71Sopenharmony_ci|201 | Permission denied. | 1026e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 1027e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1028e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1029e41f4b71Sopenharmony_ci 1030e41f4b71Sopenharmony_ci**示例:** 1031e41f4b71Sopenharmony_ci 1032e41f4b71Sopenharmony_ci```js 1033e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1034e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.BluetoothState) { 1035e41f4b71Sopenharmony_ci console.info('bluetooth state = '+ JSON.stringify(data)); 1036e41f4b71Sopenharmony_ci} 1037e41f4b71Sopenharmony_citry { 1038e41f4b71Sopenharmony_ci bluetoothManager.on('stateChange', onReceiveEvent); 1039e41f4b71Sopenharmony_ci} catch (err) { 1040e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1041e41f4b71Sopenharmony_ci} 1042e41f4b71Sopenharmony_ci``` 1043e41f4b71Sopenharmony_ci 1044e41f4b71Sopenharmony_ci 1045e41f4b71Sopenharmony_ci## bluetoothManager.off('stateChange')<sup>(deprecated)</sup> 1046e41f4b71Sopenharmony_ci 1047e41f4b71Sopenharmony_cioff(type: 'stateChange', callback?: Callback<BluetoothState>): void 1048e41f4b71Sopenharmony_ci 1049e41f4b71Sopenharmony_ci取消订阅蓝牙设备开关状态事件。 1050e41f4b71Sopenharmony_ci 1051e41f4b71Sopenharmony_ci> **说明:**<br/> 1052e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[access.off('stateChange')](js-apis-bluetooth-access.md#accessoffstatechange)替代。 1053e41f4b71Sopenharmony_ci 1054e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1055e41f4b71Sopenharmony_ci 1056e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1057e41f4b71Sopenharmony_ci 1058e41f4b71Sopenharmony_ci**参数:** 1059e41f4b71Sopenharmony_ci 1060e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1061e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 1062e41f4b71Sopenharmony_ci| type | string | 是 | 填写"stateChange"字符串,表示蓝牙状态改变事件。 | 1063e41f4b71Sopenharmony_ci| callback | Callback<[BluetoothState](#bluetoothstatedeprecated)> | 否 | 表示取消订阅蓝牙状态改变事件上报。不填该参数则取消订阅该type对应的所有回调。 | 1064e41f4b71Sopenharmony_ci 1065e41f4b71Sopenharmony_ci**错误码**: 1066e41f4b71Sopenharmony_ci 1067e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1068e41f4b71Sopenharmony_ci 1069e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1070e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1071e41f4b71Sopenharmony_ci|201 | Permission denied. | 1072e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 1073e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1074e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1075e41f4b71Sopenharmony_ci 1076e41f4b71Sopenharmony_ci**示例:** 1077e41f4b71Sopenharmony_ci 1078e41f4b71Sopenharmony_ci```js 1079e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1080e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.BluetoothState) { 1081e41f4b71Sopenharmony_ci console.info('bluetooth state = '+ JSON.stringify(data)); 1082e41f4b71Sopenharmony_ci} 1083e41f4b71Sopenharmony_citry { 1084e41f4b71Sopenharmony_ci bluetoothManager.on('stateChange', onReceiveEvent); 1085e41f4b71Sopenharmony_ci bluetoothManager.off('stateChange', onReceiveEvent); 1086e41f4b71Sopenharmony_ci} catch (err) { 1087e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1088e41f4b71Sopenharmony_ci} 1089e41f4b71Sopenharmony_ci``` 1090e41f4b71Sopenharmony_ci 1091e41f4b71Sopenharmony_ci 1092e41f4b71Sopenharmony_ci## bluetoothManager.sppListen<sup>(deprecated)</sup> 1093e41f4b71Sopenharmony_ci 1094e41f4b71Sopenharmony_cisppListen(name: string, option: SppOption, callback: AsyncCallback<number>): void 1095e41f4b71Sopenharmony_ci 1096e41f4b71Sopenharmony_ci创建一个服务端监听Socket。 1097e41f4b71Sopenharmony_ci 1098e41f4b71Sopenharmony_ci> **说明:**<br/> 1099e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[socket.sppListen](js-apis-bluetooth-socket.md#socketspplisten)替代。 1100e41f4b71Sopenharmony_ci 1101e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1102e41f4b71Sopenharmony_ci 1103e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1104e41f4b71Sopenharmony_ci 1105e41f4b71Sopenharmony_ci**参数:** 1106e41f4b71Sopenharmony_ci 1107e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1108e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ----------------------- | 1109e41f4b71Sopenharmony_ci| name | string | 是 | 服务的名称。 | 1110e41f4b71Sopenharmony_ci| option | [SppOption](#sppoptiondeprecated) | 是 | spp监听配置参数。 | 1111e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | 是 | 表示回调函数的入参,服务端Socket的id。 | 1112e41f4b71Sopenharmony_ci 1113e41f4b71Sopenharmony_ci**错误码**: 1114e41f4b71Sopenharmony_ci 1115e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1116e41f4b71Sopenharmony_ci 1117e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1118e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1119e41f4b71Sopenharmony_ci|201 | Permission denied. | 1120e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1121e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1122e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 1123e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 1124e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 1125e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1126e41f4b71Sopenharmony_ci 1127e41f4b71Sopenharmony_ci**示例:** 1128e41f4b71Sopenharmony_ci 1129e41f4b71Sopenharmony_ci```js 1130e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1131e41f4b71Sopenharmony_cilet serverNumber = -1; 1132e41f4b71Sopenharmony_cifunction serverSocket(code: BusinessError, number: number) { 1133e41f4b71Sopenharmony_ci console.log('bluetooth error code: ' + code.code); 1134e41f4b71Sopenharmony_ci if (code.code == 0) { 1135e41f4b71Sopenharmony_ci console.log('bluetooth serverSocket Number: ' + number); 1136e41f4b71Sopenharmony_ci serverNumber = number; 1137e41f4b71Sopenharmony_ci } 1138e41f4b71Sopenharmony_ci} 1139e41f4b71Sopenharmony_ci 1140e41f4b71Sopenharmony_cilet sppOption: bluetoothManager.SppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', secure: false, type: 0}; 1141e41f4b71Sopenharmony_citry { 1142e41f4b71Sopenharmony_ci bluetoothManager.sppListen('server1', sppOption, serverSocket); 1143e41f4b71Sopenharmony_ci} catch (err) { 1144e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1145e41f4b71Sopenharmony_ci} 1146e41f4b71Sopenharmony_ci``` 1147e41f4b71Sopenharmony_ci 1148e41f4b71Sopenharmony_ci 1149e41f4b71Sopenharmony_ci## bluetoothManager.sppAccept<sup>(deprecated)</sup> 1150e41f4b71Sopenharmony_ci 1151e41f4b71Sopenharmony_cisppAccept(serverSocket: number, callback: AsyncCallback<number>): void 1152e41f4b71Sopenharmony_ci 1153e41f4b71Sopenharmony_ci服务端监听socket等待客户端连接。 1154e41f4b71Sopenharmony_ci 1155e41f4b71Sopenharmony_ci> **说明:**<br/> 1156e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[socket.sppAccept](js-apis-bluetooth-socket.md#socketsppaccept)替代。 1157e41f4b71Sopenharmony_ci 1158e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1159e41f4b71Sopenharmony_ci 1160e41f4b71Sopenharmony_ci**参数:** 1161e41f4b71Sopenharmony_ci 1162e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1163e41f4b71Sopenharmony_ci| ------------ | --------------------------- | ---- | ----------------------- | 1164e41f4b71Sopenharmony_ci| serverSocket | number | 是 | 服务端socket的id。 | 1165e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | 是 | 表示回调函数的入参,客户端socket的id。 | 1166e41f4b71Sopenharmony_ci 1167e41f4b71Sopenharmony_ci**错误码**: 1168e41f4b71Sopenharmony_ci 1169e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1170e41f4b71Sopenharmony_ci 1171e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1172e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1173e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1174e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1175e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 1176e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 1177e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 1178e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1179e41f4b71Sopenharmony_ci 1180e41f4b71Sopenharmony_ci**示例:** 1181e41f4b71Sopenharmony_ci 1182e41f4b71Sopenharmony_ci```js 1183e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1184e41f4b71Sopenharmony_cilet serverNumber = -1; 1185e41f4b71Sopenharmony_cifunction serverSocket(code: BusinessError, number: number) { 1186e41f4b71Sopenharmony_ci console.log('bluetooth error code: ' + code.code); 1187e41f4b71Sopenharmony_ci if (code.code == 0) { 1188e41f4b71Sopenharmony_ci console.log('bluetooth serverSocket Number: ' + number); 1189e41f4b71Sopenharmony_ci serverNumber = number; 1190e41f4b71Sopenharmony_ci } 1191e41f4b71Sopenharmony_ci} 1192e41f4b71Sopenharmony_cilet clientNumber = -1; 1193e41f4b71Sopenharmony_cifunction acceptClientSocket(code: BusinessError, number: number) { 1194e41f4b71Sopenharmony_ci console.log('bluetooth error code: ' + code.code); 1195e41f4b71Sopenharmony_ci if (code.code == 0) { 1196e41f4b71Sopenharmony_ci console.log('bluetooth clientSocket Number: ' + number); 1197e41f4b71Sopenharmony_ci // 获取的clientNumber用作服务端后续读/写操作socket的id。 1198e41f4b71Sopenharmony_ci clientNumber = number; 1199e41f4b71Sopenharmony_ci } 1200e41f4b71Sopenharmony_ci} 1201e41f4b71Sopenharmony_citry { 1202e41f4b71Sopenharmony_ci bluetoothManager.sppAccept(serverNumber, acceptClientSocket); 1203e41f4b71Sopenharmony_ci} catch (err) { 1204e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1205e41f4b71Sopenharmony_ci} 1206e41f4b71Sopenharmony_ci``` 1207e41f4b71Sopenharmony_ci 1208e41f4b71Sopenharmony_ci 1209e41f4b71Sopenharmony_ci## bluetoothManager.sppConnect<sup>(deprecated)</sup> 1210e41f4b71Sopenharmony_ci 1211e41f4b71Sopenharmony_cisppConnect(device: string, option: SppOption, callback: AsyncCallback<number>): void 1212e41f4b71Sopenharmony_ci 1213e41f4b71Sopenharmony_ci客户端向远端设备发起spp连接。 1214e41f4b71Sopenharmony_ci 1215e41f4b71Sopenharmony_ci> **说明:**<br/> 1216e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[socket.sppConnect](js-apis-bluetooth-socket.md#socketsppconnect)替代。 1217e41f4b71Sopenharmony_ci 1218e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1219e41f4b71Sopenharmony_ci 1220e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1221e41f4b71Sopenharmony_ci 1222e41f4b71Sopenharmony_ci**参数:** 1223e41f4b71Sopenharmony_ci 1224e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1225e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ------------------------------ | 1226e41f4b71Sopenharmony_ci| device | string | 是 | 对端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 1227e41f4b71Sopenharmony_ci| option | [SppOption](#sppoptiondeprecated) | 是 | spp客户端连接配置参数。 | 1228e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | 是 | 表示回调函数的入参,客户端socket的id。 | 1229e41f4b71Sopenharmony_ci 1230e41f4b71Sopenharmony_ci**错误码**: 1231e41f4b71Sopenharmony_ci 1232e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1233e41f4b71Sopenharmony_ci 1234e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1235e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1236e41f4b71Sopenharmony_ci|201 | Permission denied. | 1237e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1238e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1239e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 1240e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 1241e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 1242e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1243e41f4b71Sopenharmony_ci 1244e41f4b71Sopenharmony_ci**示例:** 1245e41f4b71Sopenharmony_ci 1246e41f4b71Sopenharmony_ci```js 1247e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1248e41f4b71Sopenharmony_ci 1249e41f4b71Sopenharmony_cilet clientNumber = -1; 1250e41f4b71Sopenharmony_cifunction clientSocket(code: BusinessError, number: number) { 1251e41f4b71Sopenharmony_ci if (code.code != 0 || code == null) { 1252e41f4b71Sopenharmony_ci return; 1253e41f4b71Sopenharmony_ci } 1254e41f4b71Sopenharmony_ci console.log('bluetooth serverSocket Number: ' + number); 1255e41f4b71Sopenharmony_ci // 获取的clientNumber用作客户端后续读/写操作socket的id。 1256e41f4b71Sopenharmony_ci clientNumber = number; 1257e41f4b71Sopenharmony_ci} 1258e41f4b71Sopenharmony_cilet sppOption: bluetoothManager.SppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', secure: false, type: 0}; 1259e41f4b71Sopenharmony_citry { 1260e41f4b71Sopenharmony_ci bluetoothManager.sppConnect('XX:XX:XX:XX:XX:XX', sppOption, clientSocket); 1261e41f4b71Sopenharmony_ci} catch (err) { 1262e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1263e41f4b71Sopenharmony_ci} 1264e41f4b71Sopenharmony_ci``` 1265e41f4b71Sopenharmony_ci 1266e41f4b71Sopenharmony_ci 1267e41f4b71Sopenharmony_ci## bluetoothManager.sppCloseServerSocket<sup>(deprecated)</sup> 1268e41f4b71Sopenharmony_ci 1269e41f4b71Sopenharmony_cisppCloseServerSocket(socket: number): void 1270e41f4b71Sopenharmony_ci 1271e41f4b71Sopenharmony_ci关闭服务端监听Socket,入参socket由sppListen接口返回。 1272e41f4b71Sopenharmony_ci 1273e41f4b71Sopenharmony_ci> **说明:**<br/> 1274e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[socket.sppCloseServerSocket](js-apis-bluetooth-socket.md#socketsppcloseserversocket)替代。 1275e41f4b71Sopenharmony_ci 1276e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1277e41f4b71Sopenharmony_ci 1278e41f4b71Sopenharmony_ci**参数:** 1279e41f4b71Sopenharmony_ci 1280e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1281e41f4b71Sopenharmony_ci| ------ | ------ | ---- | --------------- | 1282e41f4b71Sopenharmony_ci| socket | number | 是 | 服务端监听socket的id。 | 1283e41f4b71Sopenharmony_ci 1284e41f4b71Sopenharmony_ci**错误码**: 1285e41f4b71Sopenharmony_ci 1286e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1287e41f4b71Sopenharmony_ci 1288e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1289e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1290e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1291e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1292e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 1293e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1294e41f4b71Sopenharmony_ci 1295e41f4b71Sopenharmony_ci**示例:** 1296e41f4b71Sopenharmony_ci 1297e41f4b71Sopenharmony_ci```js 1298e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1299e41f4b71Sopenharmony_cilet serverNumber = -1; 1300e41f4b71Sopenharmony_cifunction serverSocket(code: BusinessError, number: number) { 1301e41f4b71Sopenharmony_ci console.log('bluetooth error code: ' + code.code); 1302e41f4b71Sopenharmony_ci if (code.code == 0) { 1303e41f4b71Sopenharmony_ci console.log('bluetooth serverSocket Number: ' + number); 1304e41f4b71Sopenharmony_ci serverNumber = number; 1305e41f4b71Sopenharmony_ci } 1306e41f4b71Sopenharmony_ci} 1307e41f4b71Sopenharmony_citry { 1308e41f4b71Sopenharmony_ci bluetoothManager.sppCloseServerSocket(serverNumber); 1309e41f4b71Sopenharmony_ci} catch (err) { 1310e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1311e41f4b71Sopenharmony_ci} 1312e41f4b71Sopenharmony_ci``` 1313e41f4b71Sopenharmony_ci 1314e41f4b71Sopenharmony_ci 1315e41f4b71Sopenharmony_ci## bluetoothManager.sppCloseClientSocket<sup>(deprecated)</sup> 1316e41f4b71Sopenharmony_ci 1317e41f4b71Sopenharmony_cisppCloseClientSocket(socket: number): void 1318e41f4b71Sopenharmony_ci 1319e41f4b71Sopenharmony_ci关闭客户端socket,入参socket由sppAccept或sppConnect接口获取。 1320e41f4b71Sopenharmony_ci 1321e41f4b71Sopenharmony_ci> **说明:**<br/> 1322e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[socket.sppCloseClientSocket](js-apis-bluetooth-socket.md#socketsppcloseclientsocket)替代。 1323e41f4b71Sopenharmony_ci 1324e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1325e41f4b71Sopenharmony_ci 1326e41f4b71Sopenharmony_ci**参数:** 1327e41f4b71Sopenharmony_ci 1328e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1329e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------- | 1330e41f4b71Sopenharmony_ci| socket | number | 是 | 客户端socket的id。 | 1331e41f4b71Sopenharmony_ci 1332e41f4b71Sopenharmony_ci**错误码**: 1333e41f4b71Sopenharmony_ci 1334e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1335e41f4b71Sopenharmony_ci 1336e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1337e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1338e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1339e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1340e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 1341e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1342e41f4b71Sopenharmony_ci 1343e41f4b71Sopenharmony_ci**示例:** 1344e41f4b71Sopenharmony_ci 1345e41f4b71Sopenharmony_ci```js 1346e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1347e41f4b71Sopenharmony_cilet clientNumber = -1; 1348e41f4b71Sopenharmony_cifunction clientSocket(code: BusinessError, number: number) { 1349e41f4b71Sopenharmony_ci if (code.code != 0 || code == null) { 1350e41f4b71Sopenharmony_ci return; 1351e41f4b71Sopenharmony_ci } 1352e41f4b71Sopenharmony_ci console.log('bluetooth serverSocket Number: ' + number); 1353e41f4b71Sopenharmony_ci // 获取的clientNumber用作客户端后续读/写操作socket的id。 1354e41f4b71Sopenharmony_ci clientNumber = number; 1355e41f4b71Sopenharmony_ci} 1356e41f4b71Sopenharmony_citry { 1357e41f4b71Sopenharmony_ci bluetoothManager.sppCloseClientSocket(clientNumber); 1358e41f4b71Sopenharmony_ci} catch (err) { 1359e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1360e41f4b71Sopenharmony_ci} 1361e41f4b71Sopenharmony_ci``` 1362e41f4b71Sopenharmony_ci 1363e41f4b71Sopenharmony_ci 1364e41f4b71Sopenharmony_ci## bluetoothManager.sppWrite<sup>(deprecated)</sup> 1365e41f4b71Sopenharmony_ci 1366e41f4b71Sopenharmony_cisppWrite(clientSocket: number, data: ArrayBuffer): void 1367e41f4b71Sopenharmony_ci 1368e41f4b71Sopenharmony_ci通过socket向远端发送数据,入参clientSocket由sppAccept或sppConnect接口获取。 1369e41f4b71Sopenharmony_ci 1370e41f4b71Sopenharmony_ci> **说明:**<br/> 1371e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[socket.sppWrite](js-apis-bluetooth-socket.md#socketsppwrite)替代。 1372e41f4b71Sopenharmony_ci 1373e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1374e41f4b71Sopenharmony_ci 1375e41f4b71Sopenharmony_ci**参数:** 1376e41f4b71Sopenharmony_ci 1377e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1378e41f4b71Sopenharmony_ci| ------------ | ----------- | ---- | ------------- | 1379e41f4b71Sopenharmony_ci| clientSocket | number | 是 | 客户端socket的id。 | 1380e41f4b71Sopenharmony_ci| data | ArrayBuffer | 是 | 写入的数据。 | 1381e41f4b71Sopenharmony_ci 1382e41f4b71Sopenharmony_ci**错误码**: 1383e41f4b71Sopenharmony_ci 1384e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1385e41f4b71Sopenharmony_ci 1386e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1387e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1388e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1389e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1390e41f4b71Sopenharmony_ci|2901054 | IO error. | 1391e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1392e41f4b71Sopenharmony_ci 1393e41f4b71Sopenharmony_ci**示例:** 1394e41f4b71Sopenharmony_ci 1395e41f4b71Sopenharmony_ci```js 1396e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1397e41f4b71Sopenharmony_cilet clientNumber = -1; 1398e41f4b71Sopenharmony_cifunction clientSocket(code: BusinessError, number: number) { 1399e41f4b71Sopenharmony_ci if (code.code != 0 || code == null) { 1400e41f4b71Sopenharmony_ci return; 1401e41f4b71Sopenharmony_ci } 1402e41f4b71Sopenharmony_ci console.log('bluetooth serverSocket Number: ' + number); 1403e41f4b71Sopenharmony_ci // 获取的clientNumber用作客户端后续读/写操作socket的id。 1404e41f4b71Sopenharmony_ci clientNumber = number; 1405e41f4b71Sopenharmony_ci} 1406e41f4b71Sopenharmony_cilet arrayBuffer = new ArrayBuffer(8); 1407e41f4b71Sopenharmony_cilet data = new Uint8Array(arrayBuffer); 1408e41f4b71Sopenharmony_cidata[0] = 123; 1409e41f4b71Sopenharmony_citry { 1410e41f4b71Sopenharmony_ci bluetoothManager.sppWrite(clientNumber, arrayBuffer); 1411e41f4b71Sopenharmony_ci} catch (err) { 1412e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1413e41f4b71Sopenharmony_ci} 1414e41f4b71Sopenharmony_ci``` 1415e41f4b71Sopenharmony_ci 1416e41f4b71Sopenharmony_ci 1417e41f4b71Sopenharmony_ci## bluetoothManager.on('sppRead')<sup>(deprecated)</sup> 1418e41f4b71Sopenharmony_ci 1419e41f4b71Sopenharmony_cion(type: 'sppRead', clientSocket: number, callback: Callback<ArrayBuffer>): void 1420e41f4b71Sopenharmony_ci 1421e41f4b71Sopenharmony_ci订阅spp读请求事件,入参clientSocket由sppAccept或sppConnect接口获取。 1422e41f4b71Sopenharmony_ci 1423e41f4b71Sopenharmony_ci> **说明:**<br/> 1424e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[socket.on('sppRead')](js-apis-bluetooth-socket.md#socketonsppread)替代。 1425e41f4b71Sopenharmony_ci 1426e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1427e41f4b71Sopenharmony_ci 1428e41f4b71Sopenharmony_ci**参数:** 1429e41f4b71Sopenharmony_ci 1430e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1431e41f4b71Sopenharmony_ci| ------------ | --------------------------- | ---- | -------------------------- | 1432e41f4b71Sopenharmony_ci| type | string | 是 | 填写"sppRead"字符串,表示spp读请求事件。 | 1433e41f4b71Sopenharmony_ci| clientSocket | number | 是 | 客户端socket的id。 | 1434e41f4b71Sopenharmony_ci| callback | Callback<ArrayBuffer> | 是 | 表示回调函数的入参,读取到的数据。 | 1435e41f4b71Sopenharmony_ci 1436e41f4b71Sopenharmony_ci**错误码**: 1437e41f4b71Sopenharmony_ci 1438e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1439e41f4b71Sopenharmony_ci 1440e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1441e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1442e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1443e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1444e41f4b71Sopenharmony_ci|2901054 | IO error. | 1445e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1446e41f4b71Sopenharmony_ci 1447e41f4b71Sopenharmony_ci**示例:** 1448e41f4b71Sopenharmony_ci 1449e41f4b71Sopenharmony_ci```js 1450e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1451e41f4b71Sopenharmony_cilet clientNumber = -1; 1452e41f4b71Sopenharmony_cifunction clientSocket(code: BusinessError, number: number) { 1453e41f4b71Sopenharmony_ci if (code.code != 0 || code == null) { 1454e41f4b71Sopenharmony_ci return; 1455e41f4b71Sopenharmony_ci } 1456e41f4b71Sopenharmony_ci console.log('bluetooth serverSocket Number: ' + number); 1457e41f4b71Sopenharmony_ci // 获取的clientNumber用作客户端后续读/写操作socket的id。 1458e41f4b71Sopenharmony_ci clientNumber = number; 1459e41f4b71Sopenharmony_ci} 1460e41f4b71Sopenharmony_cifunction dataRead(dataBuffer: ArrayBuffer) { 1461e41f4b71Sopenharmony_ci let data = new Uint8Array(dataBuffer); 1462e41f4b71Sopenharmony_ci console.log('bluetooth data is: ' + data[0]); 1463e41f4b71Sopenharmony_ci} 1464e41f4b71Sopenharmony_citry { 1465e41f4b71Sopenharmony_ci bluetoothManager.on('sppRead', clientNumber, dataRead); 1466e41f4b71Sopenharmony_ci} catch (err) { 1467e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1468e41f4b71Sopenharmony_ci} 1469e41f4b71Sopenharmony_ci``` 1470e41f4b71Sopenharmony_ci 1471e41f4b71Sopenharmony_ci 1472e41f4b71Sopenharmony_ci## bluetoothManager.off('sppRead')<sup>(deprecated)</sup> 1473e41f4b71Sopenharmony_ci 1474e41f4b71Sopenharmony_cioff(type: 'sppRead', clientSocket: number, callback?: Callback<ArrayBuffer>): void 1475e41f4b71Sopenharmony_ci 1476e41f4b71Sopenharmony_ci取消订阅spp读请求事件,入参clientSocket由sppAccept或sppConnect接口获取。 1477e41f4b71Sopenharmony_ci 1478e41f4b71Sopenharmony_ci> **说明:**<br/> 1479e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[socket.off('sppRead')](js-apis-bluetooth-socket.md#socketoffsppread)替代。 1480e41f4b71Sopenharmony_ci 1481e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1482e41f4b71Sopenharmony_ci 1483e41f4b71Sopenharmony_ci**参数:** 1484e41f4b71Sopenharmony_ci 1485e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1486e41f4b71Sopenharmony_ci| ------------ | --------------------------- | ---- | ---------------------------------------- | 1487e41f4b71Sopenharmony_ci| type | string | 是 | 填写"sppRead"字符串,表示spp读请求事件。 | 1488e41f4b71Sopenharmony_ci| clientSocket | number | 是 | 客户端Socket的id。 | 1489e41f4b71Sopenharmony_ci| callback | Callback<ArrayBuffer> | 否 | 表示取消订阅spp读请求事件上报。不填该参数则取消订阅该type对应的所有回调。 | 1490e41f4b71Sopenharmony_ci 1491e41f4b71Sopenharmony_ci**错误码**: 1492e41f4b71Sopenharmony_ci 1493e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1494e41f4b71Sopenharmony_ci 1495e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1496e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1497e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1498e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1499e41f4b71Sopenharmony_ci 1500e41f4b71Sopenharmony_ci**示例:** 1501e41f4b71Sopenharmony_ci 1502e41f4b71Sopenharmony_ci```js 1503e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1504e41f4b71Sopenharmony_cilet clientNumber = -1; 1505e41f4b71Sopenharmony_cifunction clientSocket(code: BusinessError, number: number) { 1506e41f4b71Sopenharmony_ci if (code.code != 0 || code == null) { 1507e41f4b71Sopenharmony_ci return; 1508e41f4b71Sopenharmony_ci } 1509e41f4b71Sopenharmony_ci console.log('bluetooth serverSocket Number: ' + number); 1510e41f4b71Sopenharmony_ci // 获取的clientNumber用作客户端后续读/写操作socket的id。 1511e41f4b71Sopenharmony_ci clientNumber = number; 1512e41f4b71Sopenharmony_ci} 1513e41f4b71Sopenharmony_citry { 1514e41f4b71Sopenharmony_ci bluetoothManager.off('sppRead', clientNumber); 1515e41f4b71Sopenharmony_ci} catch (err) { 1516e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1517e41f4b71Sopenharmony_ci} 1518e41f4b71Sopenharmony_ci``` 1519e41f4b71Sopenharmony_ci 1520e41f4b71Sopenharmony_ci## bluetoothManager.getProfileInstance<sup>(deprecated)</sup> 1521e41f4b71Sopenharmony_ci 1522e41f4b71Sopenharmony_cigetProfileInstance(profileId: ProfileId): A2dpSourceProfile | HandsFreeAudioGatewayProfile | HidHostProfile | PanProfile 1523e41f4b71Sopenharmony_ci 1524e41f4b71Sopenharmony_ci通过ProfileId,获取profile的对象实例,API9新增了HidHostProfile,PanProfile。 1525e41f4b71Sopenharmony_ci 1526e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1527e41f4b71Sopenharmony_ci 1528e41f4b71Sopenharmony_ci**参数:** 1529e41f4b71Sopenharmony_ci 1530e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1531e41f4b71Sopenharmony_ci| --------- | --------- | ---- | ------------------------------------- | 1532e41f4b71Sopenharmony_ci| profileId | [ProfileId](#profileiddeprecated) | 是 | 表示profile的枚举值,例如:PROFILE_A2DP_SOURCE。 | 1533e41f4b71Sopenharmony_ci 1534e41f4b71Sopenharmony_ci**返回值:** 1535e41f4b71Sopenharmony_ci 1536e41f4b71Sopenharmony_ci| 类型 | 说明 | 1537e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | ------------------------------------------------------------ | 1538e41f4b71Sopenharmony_ci| [A2dpSourceProfile](#a2dpsourceprofile)或 [HandsFreeAudioGatewayProfile](#handsfreeaudiogatewayprofiledeprecated)或[HidHostProfile](#hidhostprofiledeprecated)或[PanProfile](#panprofile) | 对应的profile的对象实例,当前支持A2dpSourceProfile/HandsFreeAudioGatewayProfile/HidHostProfile/PanProfile。 | 1539e41f4b71Sopenharmony_ci 1540e41f4b71Sopenharmony_ci**错误码**: 1541e41f4b71Sopenharmony_ci 1542e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1543e41f4b71Sopenharmony_ci 1544e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1545e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1546e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 1547e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1548e41f4b71Sopenharmony_ci 1549e41f4b71Sopenharmony_ci**示例:** 1550e41f4b71Sopenharmony_ci 1551e41f4b71Sopenharmony_ci```js 1552e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1553e41f4b71Sopenharmony_citry { 1554e41f4b71Sopenharmony_ci let hidHost: bluetoothManager.HidHostProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HID_HOST); 1555e41f4b71Sopenharmony_ci} catch (err) { 1556e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1557e41f4b71Sopenharmony_ci} 1558e41f4b71Sopenharmony_ci``` 1559e41f4b71Sopenharmony_ci 1560e41f4b71Sopenharmony_ci 1561e41f4b71Sopenharmony_ci## BLE 1562e41f4b71Sopenharmony_ci 1563e41f4b71Sopenharmony_ciBLE模块提供了对蓝牙操作和管理的方法。 1564e41f4b71Sopenharmony_ci 1565e41f4b71Sopenharmony_ci### createGattServer<sup>(deprecated)</sup> 1566e41f4b71Sopenharmony_ci 1567e41f4b71Sopenharmony_cicreateGattServer(): GattServer 1568e41f4b71Sopenharmony_ci 1569e41f4b71Sopenharmony_ci创建一个可使用的GattServer实例。 1570e41f4b71Sopenharmony_ci 1571e41f4b71Sopenharmony_ci> **说明:**<br/> 1572e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.createGattServer](js-apis-bluetooth-ble.md#blecreategattserver)替代。 1573e41f4b71Sopenharmony_ci 1574e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1575e41f4b71Sopenharmony_ci 1576e41f4b71Sopenharmony_ci**返回值:** 1577e41f4b71Sopenharmony_ci 1578e41f4b71Sopenharmony_ci| 类型 | 说明 | 1579e41f4b71Sopenharmony_ci| ------------------------- | ------------------------------------ | 1580e41f4b71Sopenharmony_ci| [GattServer](#gattserver) | server端类,使用server端方法之前需要创建该类的实例进行操作。 | 1581e41f4b71Sopenharmony_ci 1582e41f4b71Sopenharmony_ci**示例:** 1583e41f4b71Sopenharmony_ci 1584e41f4b71Sopenharmony_ci```js 1585e41f4b71Sopenharmony_cilet gattServer: bluetoothManager.GattServer = bluetoothManager.BLE.createGattServer(); 1586e41f4b71Sopenharmony_ci``` 1587e41f4b71Sopenharmony_ci 1588e41f4b71Sopenharmony_ci 1589e41f4b71Sopenharmony_ci### createGattClientDevice<sup>(deprecated)</sup> 1590e41f4b71Sopenharmony_ci 1591e41f4b71Sopenharmony_cicreateGattClientDevice(deviceId: string): GattClientDevice 1592e41f4b71Sopenharmony_ci 1593e41f4b71Sopenharmony_ci创建一个可使用的GattClientDevice实例。 1594e41f4b71Sopenharmony_ci 1595e41f4b71Sopenharmony_ci> **说明:**<br/> 1596e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.createGattClientDevice](js-apis-bluetooth-ble.md#blecreategattclientdevice)替代。 1597e41f4b71Sopenharmony_ci 1598e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1599e41f4b71Sopenharmony_ci 1600e41f4b71Sopenharmony_ci**参数:** 1601e41f4b71Sopenharmony_ci 1602e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1603e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ------------------------------------ | 1604e41f4b71Sopenharmony_ci| deviceId | string | 是 | 对端设备地址, 例如:"XX:XX:XX:XX:XX:XX"。 | 1605e41f4b71Sopenharmony_ci 1606e41f4b71Sopenharmony_ci**返回值:** 1607e41f4b71Sopenharmony_ci 1608e41f4b71Sopenharmony_ci| 类型 | 说明 | 1609e41f4b71Sopenharmony_ci| ------------------------------------- | ------------------------------------ | 1610e41f4b71Sopenharmony_ci| [GattClientDevice](#gattclientdevice) | client端类,使用client端方法之前需要创建该类的实例进行操作。 | 1611e41f4b71Sopenharmony_ci 1612e41f4b71Sopenharmony_ci**错误码**: 1613e41f4b71Sopenharmony_ci 1614e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1615e41f4b71Sopenharmony_ci 1616e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1617e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1618e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 1619e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1620e41f4b71Sopenharmony_ci 1621e41f4b71Sopenharmony_ci**示例:** 1622e41f4b71Sopenharmony_ci 1623e41f4b71Sopenharmony_ci```js 1624e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1625e41f4b71Sopenharmony_citry { 1626e41f4b71Sopenharmony_ci let device: bluetoothManager.GattClientDevice = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 1627e41f4b71Sopenharmony_ci} catch (err) { 1628e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1629e41f4b71Sopenharmony_ci} 1630e41f4b71Sopenharmony_ci``` 1631e41f4b71Sopenharmony_ci 1632e41f4b71Sopenharmony_ci 1633e41f4b71Sopenharmony_ci### getConnectedBLEDevices<sup>(deprecated)</sup> 1634e41f4b71Sopenharmony_ci 1635e41f4b71Sopenharmony_cigetConnectedBLEDevices(): Array<string> 1636e41f4b71Sopenharmony_ci 1637e41f4b71Sopenharmony_ci获取和当前设备连接的BLE设备。 1638e41f4b71Sopenharmony_ci 1639e41f4b71Sopenharmony_ci> **说明:**<br/> 1640e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.getConnectedBLEDevices](js-apis-bluetooth-ble.md#blegetconnectedbledevices)替代。 1641e41f4b71Sopenharmony_ci 1642e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1643e41f4b71Sopenharmony_ci 1644e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1645e41f4b71Sopenharmony_ci 1646e41f4b71Sopenharmony_ci**返回值:** 1647e41f4b71Sopenharmony_ci 1648e41f4b71Sopenharmony_ci| 类型 | 说明 | 1649e41f4b71Sopenharmony_ci| ------------------- | ------------------- | 1650e41f4b71Sopenharmony_ci| Array<string> | 返回当前设备作为Server端时连接BLE设备地址集合。 | 1651e41f4b71Sopenharmony_ci 1652e41f4b71Sopenharmony_ci**错误码**: 1653e41f4b71Sopenharmony_ci 1654e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1655e41f4b71Sopenharmony_ci 1656e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1657e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1658e41f4b71Sopenharmony_ci|201 | Permission denied. | 1659e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1660e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 1661e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 1662e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1663e41f4b71Sopenharmony_ci 1664e41f4b71Sopenharmony_ci**示例:** 1665e41f4b71Sopenharmony_ci 1666e41f4b71Sopenharmony_ci```js 1667e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1668e41f4b71Sopenharmony_citry { 1669e41f4b71Sopenharmony_ci let result: Array<string> = bluetoothManager.BLE.getConnectedBLEDevices(); 1670e41f4b71Sopenharmony_ci} catch (err) { 1671e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1672e41f4b71Sopenharmony_ci} 1673e41f4b71Sopenharmony_ci``` 1674e41f4b71Sopenharmony_ci 1675e41f4b71Sopenharmony_ci 1676e41f4b71Sopenharmony_ci### startBLEScan<sup>(deprecated)</sup> 1677e41f4b71Sopenharmony_ci 1678e41f4b71Sopenharmony_cistartBLEScan(filters: Array<ScanFilter>, options?: ScanOptions): void 1679e41f4b71Sopenharmony_ci 1680e41f4b71Sopenharmony_ci发起BLE扫描流程。 1681e41f4b71Sopenharmony_ci 1682e41f4b71Sopenharmony_ci> **说明:**<br/> 1683e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.startBLEScan](js-apis-bluetooth-ble.md#blestartblescan)替代。 1684e41f4b71Sopenharmony_ci 1685e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1686e41f4b71Sopenharmony_ci 1687e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1688e41f4b71Sopenharmony_ci 1689e41f4b71Sopenharmony_ci**参数:** 1690e41f4b71Sopenharmony_ci 1691e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1692e41f4b71Sopenharmony_ci| ------- | -------------------------------------- | ---- | ----------------------------------- | 1693e41f4b71Sopenharmony_ci| filters | Array<[ScanFilter](#scanfilterdeprecated)> | 是 | 表示扫描结果过滤策略集合,如果不使用过滤的方式,该参数设置为null。 | 1694e41f4b71Sopenharmony_ci| options | [ScanOptions](#scanoptionsdeprecated) | 否 | 表示扫描的参数配置,可选参数。 | 1695e41f4b71Sopenharmony_ci 1696e41f4b71Sopenharmony_ci**错误码**: 1697e41f4b71Sopenharmony_ci 1698e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1699e41f4b71Sopenharmony_ci 1700e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1701e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1702e41f4b71Sopenharmony_ci|201 | Permission denied. | 1703e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 1704e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1705e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 1706e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 1707e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1708e41f4b71Sopenharmony_ci 1709e41f4b71Sopenharmony_ci**示例:** 1710e41f4b71Sopenharmony_ci 1711e41f4b71Sopenharmony_ci```js 1712e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1713e41f4b71Sopenharmony_cifunction onReceiveEvent(data: Array<bluetoothManager.ScanResult>) { 1714e41f4b71Sopenharmony_ci console.info('BLE scan device find result = '+ JSON.stringify(data)); 1715e41f4b71Sopenharmony_ci} 1716e41f4b71Sopenharmony_citry { 1717e41f4b71Sopenharmony_ci bluetoothManager.BLE.on("BLEDeviceFind", onReceiveEvent); 1718e41f4b71Sopenharmony_ci let scanfilter: bluetoothManager.ScanFilter = { 1719e41f4b71Sopenharmony_ci deviceId:"XX:XX:XX:XX:XX:XX", 1720e41f4b71Sopenharmony_ci name:"test", 1721e41f4b71Sopenharmony_ci serviceUuid:"00001888-0000-1000-8000-00805f9b34fb" 1722e41f4b71Sopenharmony_ci }; 1723e41f4b71Sopenharmony_ci let scanoptions: bluetoothManager.ScanOptions = { 1724e41f4b71Sopenharmony_ci interval: 500, 1725e41f4b71Sopenharmony_ci dutyMode: bluetoothManager.ScanDuty.SCAN_MODE_LOW_POWER, 1726e41f4b71Sopenharmony_ci matchMode: bluetoothManager.MatchMode.MATCH_MODE_AGGRESSIVE, 1727e41f4b71Sopenharmony_ci } 1728e41f4b71Sopenharmony_ci bluetoothManager.BLE.startBLEScan([scanfilter], scanoptions); 1729e41f4b71Sopenharmony_ci} catch (err) { 1730e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1731e41f4b71Sopenharmony_ci} 1732e41f4b71Sopenharmony_ci``` 1733e41f4b71Sopenharmony_ci 1734e41f4b71Sopenharmony_ci 1735e41f4b71Sopenharmony_ci### stopBLEScan<sup>(deprecated)</sup> 1736e41f4b71Sopenharmony_ci 1737e41f4b71Sopenharmony_cistopBLEScan(): void 1738e41f4b71Sopenharmony_ci 1739e41f4b71Sopenharmony_ci停止BLE扫描流程。 1740e41f4b71Sopenharmony_ci 1741e41f4b71Sopenharmony_ci> **说明:**<br/> 1742e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.startBLEScan](js-apis-bluetooth-ble.md#blestopblescan)替代。 1743e41f4b71Sopenharmony_ci 1744e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1745e41f4b71Sopenharmony_ci 1746e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1747e41f4b71Sopenharmony_ci 1748e41f4b71Sopenharmony_ci**错误码**: 1749e41f4b71Sopenharmony_ci 1750e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1751e41f4b71Sopenharmony_ci 1752e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1753e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1754e41f4b71Sopenharmony_ci|201 | Permission denied. | 1755e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1756e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 1757e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 1758e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1759e41f4b71Sopenharmony_ci 1760e41f4b71Sopenharmony_ci**示例:** 1761e41f4b71Sopenharmony_ci 1762e41f4b71Sopenharmony_ci```js 1763e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1764e41f4b71Sopenharmony_citry { 1765e41f4b71Sopenharmony_ci bluetoothManager.BLE.stopBLEScan(); 1766e41f4b71Sopenharmony_ci} catch (err) { 1767e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1768e41f4b71Sopenharmony_ci} 1769e41f4b71Sopenharmony_ci``` 1770e41f4b71Sopenharmony_ci 1771e41f4b71Sopenharmony_ci 1772e41f4b71Sopenharmony_ci### on('BLEDeviceFind')<sup>(deprecated)</sup> 1773e41f4b71Sopenharmony_ci 1774e41f4b71Sopenharmony_cion(type: 'BLEDeviceFind', callback: Callback<Array<ScanResult>>): void 1775e41f4b71Sopenharmony_ci 1776e41f4b71Sopenharmony_ci订阅BLE设备发现上报事件。 1777e41f4b71Sopenharmony_ci 1778e41f4b71Sopenharmony_ci> **说明:**<br/> 1779e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.on('BLEDeviceFind')](js-apis-bluetooth-ble.md#bleonbledevicefind)替代。 1780e41f4b71Sopenharmony_ci 1781e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1782e41f4b71Sopenharmony_ci 1783e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1784e41f4b71Sopenharmony_ci 1785e41f4b71Sopenharmony_ci**参数:** 1786e41f4b71Sopenharmony_ci 1787e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1788e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ----------------------------------- | 1789e41f4b71Sopenharmony_ci| type | string | 是 | 填写"BLEDeviceFind"字符串,表示BLE设备发现事件。 | 1790e41f4b71Sopenharmony_ci| callback | Callback<Array<[ScanResult](#scanresultdeprecated)>> | 是 | 表示回调函数的入参,发现的设备集合。回调函数由用户创建通过该接口注册。 | 1791e41f4b71Sopenharmony_ci 1792e41f4b71Sopenharmony_ci**错误码**: 1793e41f4b71Sopenharmony_ci 1794e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1795e41f4b71Sopenharmony_ci 1796e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1797e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1798e41f4b71Sopenharmony_ci|201 | Permission denied. | 1799e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 1800e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1801e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1802e41f4b71Sopenharmony_ci 1803e41f4b71Sopenharmony_ci**示例:** 1804e41f4b71Sopenharmony_ci 1805e41f4b71Sopenharmony_ci```js 1806e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1807e41f4b71Sopenharmony_cifunction onReceiveEvent(data: Array<bluetoothManager.ScanResult>) { 1808e41f4b71Sopenharmony_ci console.info('bluetooth device find = '+ JSON.stringify(data)); 1809e41f4b71Sopenharmony_ci} 1810e41f4b71Sopenharmony_citry { 1811e41f4b71Sopenharmony_ci bluetoothManager.BLE.on('BLEDeviceFind', onReceiveEvent); 1812e41f4b71Sopenharmony_ci} catch (err) { 1813e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1814e41f4b71Sopenharmony_ci} 1815e41f4b71Sopenharmony_ci``` 1816e41f4b71Sopenharmony_ci 1817e41f4b71Sopenharmony_ci 1818e41f4b71Sopenharmony_ci### off('BLEDeviceFind')<sup>(deprecated)</sup> 1819e41f4b71Sopenharmony_ci 1820e41f4b71Sopenharmony_cioff(type: 'BLEDeviceFind', callback?: Callback<Array<ScanResult>>): void 1821e41f4b71Sopenharmony_ci 1822e41f4b71Sopenharmony_ci取消订阅BLE设备发现上报事件。 1823e41f4b71Sopenharmony_ci 1824e41f4b71Sopenharmony_ci> **说明:**<br/> 1825e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.off('BLEDeviceFind')](js-apis-bluetooth-ble.md#bleoffbledevicefind)替代。 1826e41f4b71Sopenharmony_ci 1827e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1828e41f4b71Sopenharmony_ci 1829e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1830e41f4b71Sopenharmony_ci 1831e41f4b71Sopenharmony_ci**参数:** 1832e41f4b71Sopenharmony_ci 1833e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1834e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 1835e41f4b71Sopenharmony_ci| type | string | 是 | 填写"BLEDeviceFind"字符串,表示BLE设备发现事件。 | 1836e41f4b71Sopenharmony_ci| callback | Callback<Array<[ScanResult](#scanresultdeprecated)>> | 否 | 表示取消订阅BLE设备发现事件上报。不填该参数则取消订阅该type对应的所有回调。 | 1837e41f4b71Sopenharmony_ci 1838e41f4b71Sopenharmony_ci**错误码**: 1839e41f4b71Sopenharmony_ci 1840e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1841e41f4b71Sopenharmony_ci 1842e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1843e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1844e41f4b71Sopenharmony_ci|201 | Permission denied. | 1845e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 1846e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1847e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1848e41f4b71Sopenharmony_ci 1849e41f4b71Sopenharmony_ci**示例:** 1850e41f4b71Sopenharmony_ci 1851e41f4b71Sopenharmony_ci```js 1852e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1853e41f4b71Sopenharmony_cifunction onReceiveEvent(data: Array<bluetoothManager.ScanResult>) { 1854e41f4b71Sopenharmony_ci console.info('bluetooth device find = '+ JSON.stringify(data)); 1855e41f4b71Sopenharmony_ci} 1856e41f4b71Sopenharmony_citry { 1857e41f4b71Sopenharmony_ci bluetoothManager.BLE.on('BLEDeviceFind', onReceiveEvent); 1858e41f4b71Sopenharmony_ci bluetoothManager.BLE.off('BLEDeviceFind', onReceiveEvent); 1859e41f4b71Sopenharmony_ci} catch (err) { 1860e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1861e41f4b71Sopenharmony_ci} 1862e41f4b71Sopenharmony_ci``` 1863e41f4b71Sopenharmony_ci 1864e41f4b71Sopenharmony_ci 1865e41f4b71Sopenharmony_ci## BaseProfile 1866e41f4b71Sopenharmony_ci 1867e41f4b71Sopenharmony_ciprofile基类。 1868e41f4b71Sopenharmony_ci 1869e41f4b71Sopenharmony_ci 1870e41f4b71Sopenharmony_ci### getConnectionDevices<sup>(deprecated)</sup> 1871e41f4b71Sopenharmony_ci 1872e41f4b71Sopenharmony_cigetConnectionDevices(): Array<string> 1873e41f4b71Sopenharmony_ci 1874e41f4b71Sopenharmony_ci获取已连接设备列表。 1875e41f4b71Sopenharmony_ci 1876e41f4b71Sopenharmony_ci> **说明:**<br/> 1877e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.getConnectedDevices](js-apis-bluetooth-baseProfile.md#baseprofilegetconnecteddevices)替代。 1878e41f4b71Sopenharmony_ci 1879e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1880e41f4b71Sopenharmony_ci 1881e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1882e41f4b71Sopenharmony_ci 1883e41f4b71Sopenharmony_ci**返回值:** 1884e41f4b71Sopenharmony_ci 1885e41f4b71Sopenharmony_ci| 类型 | 说明 | 1886e41f4b71Sopenharmony_ci| ------------------- | ------------- | 1887e41f4b71Sopenharmony_ci| Array<string> | 返回已连接设备的地址列表。 | 1888e41f4b71Sopenharmony_ci 1889e41f4b71Sopenharmony_ci**错误码**: 1890e41f4b71Sopenharmony_ci 1891e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1892e41f4b71Sopenharmony_ci 1893e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1894e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1895e41f4b71Sopenharmony_ci|201 | Permission denied. | 1896e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1897e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 1898e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 1899e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 1900e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1901e41f4b71Sopenharmony_ci 1902e41f4b71Sopenharmony_ci**示例:** 1903e41f4b71Sopenharmony_ci 1904e41f4b71Sopenharmony_ci```js 1905e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1906e41f4b71Sopenharmony_citry { 1907e41f4b71Sopenharmony_ci let a2dpSrc: bluetoothManager.A2dpSourceProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile; 1908e41f4b71Sopenharmony_ci let retArray: Array<string> = a2dpSrc.getConnectionDevices(); 1909e41f4b71Sopenharmony_ci} catch (err) { 1910e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1911e41f4b71Sopenharmony_ci} 1912e41f4b71Sopenharmony_ci``` 1913e41f4b71Sopenharmony_ci 1914e41f4b71Sopenharmony_ci### getDeviceState<sup>(deprecated)</sup> 1915e41f4b71Sopenharmony_ci 1916e41f4b71Sopenharmony_cigetDeviceState(device: string): ProfileConnectionState 1917e41f4b71Sopenharmony_ci 1918e41f4b71Sopenharmony_ci获取设备profile的连接状态。 1919e41f4b71Sopenharmony_ci 1920e41f4b71Sopenharmony_ci> **说明:**<br/> 1921e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.getConnectionState](js-apis-bluetooth-baseProfile.md#baseprofilegetconnectionstate)替代。 1922e41f4b71Sopenharmony_ci 1923e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1924e41f4b71Sopenharmony_ci 1925e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1926e41f4b71Sopenharmony_ci 1927e41f4b71Sopenharmony_ci**参数:** 1928e41f4b71Sopenharmony_ci 1929e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1930e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 1931e41f4b71Sopenharmony_ci| device | string | 是 | 远端设备地址。 | 1932e41f4b71Sopenharmony_ci 1933e41f4b71Sopenharmony_ci**返回值:** 1934e41f4b71Sopenharmony_ci 1935e41f4b71Sopenharmony_ci| 类型 | 说明 | 1936e41f4b71Sopenharmony_ci| ------------------------------------------------- | ----------------------- | 1937e41f4b71Sopenharmony_ci| [ProfileConnectionState](#profileconnectionstatedeprecated) | 返回profile的连接状态。 | 1938e41f4b71Sopenharmony_ci 1939e41f4b71Sopenharmony_ci**错误码**: 1940e41f4b71Sopenharmony_ci 1941e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1942e41f4b71Sopenharmony_ci 1943e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1944e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1945e41f4b71Sopenharmony_ci|201 | Permission denied. | 1946e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 1947e41f4b71Sopenharmony_ci|801 | Capability not supported. | 1948e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 1949e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 1950e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 1951e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 1952e41f4b71Sopenharmony_ci 1953e41f4b71Sopenharmony_ci**示例:** 1954e41f4b71Sopenharmony_ci 1955e41f4b71Sopenharmony_ci```js 1956e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 1957e41f4b71Sopenharmony_citry { 1958e41f4b71Sopenharmony_ci let a2dpSrc: bluetoothManager.A2dpSourceProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile; 1959e41f4b71Sopenharmony_ci let ret: bluetoothManager.ProfileConnectionState = a2dpSrc.getDeviceState('XX:XX:XX:XX:XX:XX'); 1960e41f4b71Sopenharmony_ci} catch (err) { 1961e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 1962e41f4b71Sopenharmony_ci} 1963e41f4b71Sopenharmony_ci``` 1964e41f4b71Sopenharmony_ci 1965e41f4b71Sopenharmony_ci 1966e41f4b71Sopenharmony_ci## A2dpSourceProfile 1967e41f4b71Sopenharmony_ci 1968e41f4b71Sopenharmony_ci使用A2dpSourceProfile方法之前需要创建该类的实例进行操作,通过getProfile()方法构造此实例。 1969e41f4b71Sopenharmony_ci 1970e41f4b71Sopenharmony_ci> **说明:**<br/> 1971e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[a2dp.A2dpSourceProfile](js-apis-bluetooth-a2dp.md#a2dpsourceprofile)替代。 1972e41f4b71Sopenharmony_ci 1973e41f4b71Sopenharmony_ci 1974e41f4b71Sopenharmony_ci### connect<sup>(deprecated)</sup> 1975e41f4b71Sopenharmony_ci 1976e41f4b71Sopenharmony_ciconnect(device: string): void 1977e41f4b71Sopenharmony_ci 1978e41f4b71Sopenharmony_ci发起设备的A2dp服务连接请求。 1979e41f4b71Sopenharmony_ci 1980e41f4b71Sopenharmony_ci> **说明:**<br/> 1981e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。替代接口仅向系统应用开放。 1982e41f4b71Sopenharmony_ci 1983e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 1984e41f4b71Sopenharmony_ci 1985e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 1986e41f4b71Sopenharmony_ci 1987e41f4b71Sopenharmony_ci**参数:** 1988e41f4b71Sopenharmony_ci 1989e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1990e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 1991e41f4b71Sopenharmony_ci| device | string | 是 | 远端设备地址。 | 1992e41f4b71Sopenharmony_ci 1993e41f4b71Sopenharmony_ci**错误码**: 1994e41f4b71Sopenharmony_ci 1995e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 1996e41f4b71Sopenharmony_ci 1997e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 1998e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 1999e41f4b71Sopenharmony_ci|201 | Permission denied. | 2000e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2001e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2002e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2003e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2004e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 2005e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2006e41f4b71Sopenharmony_ci 2007e41f4b71Sopenharmony_ci**示例:** 2008e41f4b71Sopenharmony_ci 2009e41f4b71Sopenharmony_ci```js 2010e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2011e41f4b71Sopenharmony_citry { 2012e41f4b71Sopenharmony_ci let a2dpSrc: bluetoothManager.A2dpSourceProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile; 2013e41f4b71Sopenharmony_ci a2dpSrc.connect('XX:XX:XX:XX:XX:XX'); 2014e41f4b71Sopenharmony_ci} catch (err) { 2015e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2016e41f4b71Sopenharmony_ci} 2017e41f4b71Sopenharmony_ci``` 2018e41f4b71Sopenharmony_ci 2019e41f4b71Sopenharmony_ci 2020e41f4b71Sopenharmony_ci### disconnect<sup>(deprecated)</sup> 2021e41f4b71Sopenharmony_ci 2022e41f4b71Sopenharmony_cidisconnect(device: string): void 2023e41f4b71Sopenharmony_ci 2024e41f4b71Sopenharmony_ci断开设备的a2dp服务连接。 2025e41f4b71Sopenharmony_ci 2026e41f4b71Sopenharmony_ci> **说明:**<br/> 2027e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。替代接口仅向系统应用开放。 2028e41f4b71Sopenharmony_ci 2029e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2030e41f4b71Sopenharmony_ci 2031e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2032e41f4b71Sopenharmony_ci 2033e41f4b71Sopenharmony_ci**参数:** 2034e41f4b71Sopenharmony_ci 2035e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2036e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 2037e41f4b71Sopenharmony_ci| device | string | 是 | 远端设备地址。 | 2038e41f4b71Sopenharmony_ci 2039e41f4b71Sopenharmony_ci**错误码**: 2040e41f4b71Sopenharmony_ci 2041e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2042e41f4b71Sopenharmony_ci 2043e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2044e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2045e41f4b71Sopenharmony_ci|201 | Permission denied. | 2046e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2047e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2048e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2049e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2050e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 2051e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2052e41f4b71Sopenharmony_ci 2053e41f4b71Sopenharmony_ci**示例:** 2054e41f4b71Sopenharmony_ci 2055e41f4b71Sopenharmony_ci```js 2056e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2057e41f4b71Sopenharmony_citry { 2058e41f4b71Sopenharmony_ci let a2dpSrc: bluetoothManager.A2dpSourceProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile; 2059e41f4b71Sopenharmony_ci a2dpSrc.disconnect('XX:XX:XX:XX:XX:XX'); 2060e41f4b71Sopenharmony_ci} catch (err) { 2061e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2062e41f4b71Sopenharmony_ci} 2063e41f4b71Sopenharmony_ci``` 2064e41f4b71Sopenharmony_ci 2065e41f4b71Sopenharmony_ci 2066e41f4b71Sopenharmony_ci### on('connectionStateChange')<sup>(deprecated)</sup> 2067e41f4b71Sopenharmony_ci 2068e41f4b71Sopenharmony_cion(type: 'connectionStateChange', callback: Callback<[StateChangeParam](#statechangeparamdeprecated)>): void 2069e41f4b71Sopenharmony_ci 2070e41f4b71Sopenharmony_ci订阅a2dp连接状态变化事件。 2071e41f4b71Sopenharmony_ci 2072e41f4b71Sopenharmony_ci> **说明:**<br/> 2073e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.on('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileonconnectionstatechange)替代。 2074e41f4b71Sopenharmony_ci 2075e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2076e41f4b71Sopenharmony_ci 2077e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2078e41f4b71Sopenharmony_ci 2079e41f4b71Sopenharmony_ci**参数:** 2080e41f4b71Sopenharmony_ci 2081e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2082e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2083e41f4b71Sopenharmony_ci| type | string | 是 | 填写"connectionStateChange"字符串,表示连接状态变化事件。 | 2084e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | 是 | 表示回调函数的入参。 | 2085e41f4b71Sopenharmony_ci 2086e41f4b71Sopenharmony_ci**返回值:** 2087e41f4b71Sopenharmony_ci 2088e41f4b71Sopenharmony_ci无 2089e41f4b71Sopenharmony_ci 2090e41f4b71Sopenharmony_ci**错误码**: 2091e41f4b71Sopenharmony_ci 2092e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2093e41f4b71Sopenharmony_ci 2094e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2095e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2096e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2097e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2098e41f4b71Sopenharmony_ci 2099e41f4b71Sopenharmony_ci**示例:** 2100e41f4b71Sopenharmony_ci 2101e41f4b71Sopenharmony_ci```js 2102e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2103e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.StateChangeParam) { 2104e41f4b71Sopenharmony_ci console.info('a2dp state = '+ JSON.stringify(data)); 2105e41f4b71Sopenharmony_ci} 2106e41f4b71Sopenharmony_citry { 2107e41f4b71Sopenharmony_cilet a2dpSrc: bluetoothManager.A2dpSourceProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile; 2108e41f4b71Sopenharmony_cia2dpSrc.on('connectionStateChange', onReceiveEvent); 2109e41f4b71Sopenharmony_ci} catch (err) { 2110e41f4b71Sopenharmony_ci console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); 2111e41f4b71Sopenharmony_ci} 2112e41f4b71Sopenharmony_ci``` 2113e41f4b71Sopenharmony_ci 2114e41f4b71Sopenharmony_ci 2115e41f4b71Sopenharmony_ci### off('connectionStateChange')<sup>(deprecated)</sup> 2116e41f4b71Sopenharmony_ci 2117e41f4b71Sopenharmony_cioff(type: 'connectionStateChange', callback?: Callback<[StateChangeParam](#statechangeparamdeprecated)>): void 2118e41f4b71Sopenharmony_ci 2119e41f4b71Sopenharmony_ci取消订阅a2dp连接状态变化事件。 2120e41f4b71Sopenharmony_ci 2121e41f4b71Sopenharmony_ci> **说明:**<br/> 2122e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.off('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileoffconnectionstatechange)替代。 2123e41f4b71Sopenharmony_ci 2124e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2125e41f4b71Sopenharmony_ci 2126e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2127e41f4b71Sopenharmony_ci 2128e41f4b71Sopenharmony_ci**参数:** 2129e41f4b71Sopenharmony_ci 2130e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2131e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2132e41f4b71Sopenharmony_ci| type | string | 是 | 填写"connectionStateChange"字符串,表示连接状态变化事件。 | 2133e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | 否 | 表示回调函数的入参。 | 2134e41f4b71Sopenharmony_ci 2135e41f4b71Sopenharmony_ci**返回值:** 2136e41f4b71Sopenharmony_ci 2137e41f4b71Sopenharmony_ci无 2138e41f4b71Sopenharmony_ci 2139e41f4b71Sopenharmony_ci**错误码**: 2140e41f4b71Sopenharmony_ci 2141e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2142e41f4b71Sopenharmony_ci 2143e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2144e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2145e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2146e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2147e41f4b71Sopenharmony_ci 2148e41f4b71Sopenharmony_ci**示例:** 2149e41f4b71Sopenharmony_ci 2150e41f4b71Sopenharmony_ci```js 2151e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2152e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.StateChangeParam) { 2153e41f4b71Sopenharmony_ci console.info('a2dp state = '+ JSON.stringify(data)); 2154e41f4b71Sopenharmony_ci} 2155e41f4b71Sopenharmony_citry { 2156e41f4b71Sopenharmony_cilet a2dpSrc: bluetoothManager.A2dpSourceProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile; 2157e41f4b71Sopenharmony_cia2dpSrc.on('connectionStateChange', onReceiveEvent); 2158e41f4b71Sopenharmony_cia2dpSrc.off('connectionStateChange', onReceiveEvent); 2159e41f4b71Sopenharmony_ci} catch (err) { 2160e41f4b71Sopenharmony_ci console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); 2161e41f4b71Sopenharmony_ci} 2162e41f4b71Sopenharmony_ci``` 2163e41f4b71Sopenharmony_ci 2164e41f4b71Sopenharmony_ci 2165e41f4b71Sopenharmony_ci### getPlayingState<sup>(deprecated)</sup> 2166e41f4b71Sopenharmony_ci 2167e41f4b71Sopenharmony_cigetPlayingState(device: string): PlayingState 2168e41f4b71Sopenharmony_ci 2169e41f4b71Sopenharmony_ci获取设备的播放状态。 2170e41f4b71Sopenharmony_ci 2171e41f4b71Sopenharmony_ci> **说明:**<br/> 2172e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[a2dp.A2dpSourceProfile#getPlayingState](js-apis-bluetooth-a2dp.md#getPlayingState)替代。 2173e41f4b71Sopenharmony_ci 2174e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2175e41f4b71Sopenharmony_ci 2176e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2177e41f4b71Sopenharmony_ci 2178e41f4b71Sopenharmony_ci**参数:** 2179e41f4b71Sopenharmony_ci 2180e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2181e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 2182e41f4b71Sopenharmony_ci| device | string | 是 | 远端设备地址。 | 2183e41f4b71Sopenharmony_ci 2184e41f4b71Sopenharmony_ci**返回值:** 2185e41f4b71Sopenharmony_ci 2186e41f4b71Sopenharmony_ci| 类型 | 说明 | 2187e41f4b71Sopenharmony_ci| ----------------------------- | ---------- | 2188e41f4b71Sopenharmony_ci| [PlayingState](#playingstatedeprecated) | 远端设备的播放状态。 | 2189e41f4b71Sopenharmony_ci 2190e41f4b71Sopenharmony_ci**错误码**: 2191e41f4b71Sopenharmony_ci 2192e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2193e41f4b71Sopenharmony_ci 2194e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2195e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2196e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2197e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2198e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2199e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2200e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 2201e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2202e41f4b71Sopenharmony_ci 2203e41f4b71Sopenharmony_ci**示例:** 2204e41f4b71Sopenharmony_ci 2205e41f4b71Sopenharmony_ci```js 2206e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2207e41f4b71Sopenharmony_citry { 2208e41f4b71Sopenharmony_ci let a2dpSrc: bluetoothManager.A2dpSourceProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_A2DP_SOURCE) as bluetoothManager.A2dpSourceProfile; 2209e41f4b71Sopenharmony_ci let state: bluetoothManager.PlayingState = a2dpSrc.getPlayingState('XX:XX:XX:XX:XX:XX'); 2210e41f4b71Sopenharmony_ci} catch (err) { 2211e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2212e41f4b71Sopenharmony_ci} 2213e41f4b71Sopenharmony_ci``` 2214e41f4b71Sopenharmony_ci 2215e41f4b71Sopenharmony_ci 2216e41f4b71Sopenharmony_ci## HandsFreeAudioGatewayProfile<sup>(deprecated)</sup> 2217e41f4b71Sopenharmony_ci 2218e41f4b71Sopenharmony_ci使用HandsFreeAudioGatewayProfile方法之前需要创建该类的实例进行操作,通过getProfile()方法构造此实例。 2219e41f4b71Sopenharmony_ci 2220e41f4b71Sopenharmony_ci> **说明:**<br/> 2221e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[hfp.HandsFreeAudioGatewayProfile](js-apis-bluetooth-hfp.md#HandsFreeAudioGatewayProfile)替代。 2222e41f4b71Sopenharmony_ci 2223e41f4b71Sopenharmony_ci 2224e41f4b71Sopenharmony_ci### connect 2225e41f4b71Sopenharmony_ci 2226e41f4b71Sopenharmony_ciconnect(device: string): void 2227e41f4b71Sopenharmony_ci 2228e41f4b71Sopenharmony_ci连接设备的HFP服务。 2229e41f4b71Sopenharmony_ci 2230e41f4b71Sopenharmony_ci> **说明:**<br/> 2231e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。替代接口仅向系统应用开放。 2232e41f4b71Sopenharmony_ci 2233e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2234e41f4b71Sopenharmony_ci 2235e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2236e41f4b71Sopenharmony_ci 2237e41f4b71Sopenharmony_ci**参数:** 2238e41f4b71Sopenharmony_ci 2239e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2240e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 2241e41f4b71Sopenharmony_ci| device | string | 是 | 远端设备地址。 | 2242e41f4b71Sopenharmony_ci 2243e41f4b71Sopenharmony_ci**错误码**: 2244e41f4b71Sopenharmony_ci 2245e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2246e41f4b71Sopenharmony_ci 2247e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2248e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2249e41f4b71Sopenharmony_ci|201 | Permission denied. | 2250e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2251e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2252e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2253e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2254e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 2255e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2256e41f4b71Sopenharmony_ci 2257e41f4b71Sopenharmony_ci**示例:** 2258e41f4b71Sopenharmony_ci 2259e41f4b71Sopenharmony_ci```js 2260e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2261e41f4b71Sopenharmony_citry { 2262e41f4b71Sopenharmony_ci let hfpAg: bluetoothManager.HandsFreeAudioGatewayProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as bluetoothManager.HandsFreeAudioGatewayProfile; 2263e41f4b71Sopenharmony_ci hfpAg.connect('XX:XX:XX:XX:XX:XX'); 2264e41f4b71Sopenharmony_ci} catch (err) { 2265e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2266e41f4b71Sopenharmony_ci} 2267e41f4b71Sopenharmony_ci``` 2268e41f4b71Sopenharmony_ci 2269e41f4b71Sopenharmony_ci 2270e41f4b71Sopenharmony_ci### disconnect<sup>(deprecated)</sup> 2271e41f4b71Sopenharmony_ci 2272e41f4b71Sopenharmony_cidisconnect(device: string): void 2273e41f4b71Sopenharmony_ci 2274e41f4b71Sopenharmony_ci断开连接设备的HFP服务。 2275e41f4b71Sopenharmony_ci 2276e41f4b71Sopenharmony_ci> **说明:**<br/> 2277e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。替代接口仅向系统应用开放。 2278e41f4b71Sopenharmony_ci 2279e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2280e41f4b71Sopenharmony_ci 2281e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2282e41f4b71Sopenharmony_ci 2283e41f4b71Sopenharmony_ci**参数:** 2284e41f4b71Sopenharmony_ci 2285e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2286e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 2287e41f4b71Sopenharmony_ci| device | string | 是 | 远端设备地址。 | 2288e41f4b71Sopenharmony_ci 2289e41f4b71Sopenharmony_ci**错误码**: 2290e41f4b71Sopenharmony_ci 2291e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2292e41f4b71Sopenharmony_ci 2293e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2294e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2295e41f4b71Sopenharmony_ci|201 | Permission denied. | 2296e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2297e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2298e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2299e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2300e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 2301e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2302e41f4b71Sopenharmony_ci 2303e41f4b71Sopenharmony_ci**示例:** 2304e41f4b71Sopenharmony_ci 2305e41f4b71Sopenharmony_ci```js 2306e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2307e41f4b71Sopenharmony_citry { 2308e41f4b71Sopenharmony_ci let hfpAg: bluetoothManager.HandsFreeAudioGatewayProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as bluetoothManager.HandsFreeAudioGatewayProfile; 2309e41f4b71Sopenharmony_ci hfpAg.disconnect('XX:XX:XX:XX:XX:XX'); 2310e41f4b71Sopenharmony_ci} catch (err) { 2311e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2312e41f4b71Sopenharmony_ci} 2313e41f4b71Sopenharmony_ci``` 2314e41f4b71Sopenharmony_ci 2315e41f4b71Sopenharmony_ci 2316e41f4b71Sopenharmony_ci### on('connectionStateChange')<sup>(deprecated)</sup> 2317e41f4b71Sopenharmony_ci 2318e41f4b71Sopenharmony_cion(type: 'connectionStateChange', callback: Callback<[StateChangeParam](#statechangeparamdeprecated)>): void 2319e41f4b71Sopenharmony_ci 2320e41f4b71Sopenharmony_ci订阅HFP连接状态变化事件。 2321e41f4b71Sopenharmony_ci 2322e41f4b71Sopenharmony_ci> **说明:**<br/> 2323e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.on('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileonconnectionstatechange)替代。 2324e41f4b71Sopenharmony_ci 2325e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2326e41f4b71Sopenharmony_ci 2327e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2328e41f4b71Sopenharmony_ci 2329e41f4b71Sopenharmony_ci**参数:** 2330e41f4b71Sopenharmony_ci 2331e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2332e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2333e41f4b71Sopenharmony_ci| type | string | 是 | 填写"connectionStateChange"字符串,表示连接状态变化事件。 | 2334e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | 是 | 表示回调函数的入参。 | 2335e41f4b71Sopenharmony_ci 2336e41f4b71Sopenharmony_ci**错误码**: 2337e41f4b71Sopenharmony_ci 2338e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2339e41f4b71Sopenharmony_ci 2340e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2341e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2342e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2343e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2344e41f4b71Sopenharmony_ci 2345e41f4b71Sopenharmony_ci**示例:** 2346e41f4b71Sopenharmony_ci 2347e41f4b71Sopenharmony_ci```js 2348e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2349e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.StateChangeParam) { 2350e41f4b71Sopenharmony_ci console.info('hfp state = '+ JSON.stringify(data)); 2351e41f4b71Sopenharmony_ci} 2352e41f4b71Sopenharmony_citry { 2353e41f4b71Sopenharmony_cilet hfpAg: bluetoothManager.HandsFreeAudioGatewayProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as 2354e41f4b71Sopenharmony_ci bluetoothManager.HandsFreeAudioGatewayProfile; 2355e41f4b71Sopenharmony_cihfpAg.on('connectionStateChange', onReceiveEvent); 2356e41f4b71Sopenharmony_ci} catch (err) { 2357e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2358e41f4b71Sopenharmony_ci} 2359e41f4b71Sopenharmony_ci``` 2360e41f4b71Sopenharmony_ci 2361e41f4b71Sopenharmony_ci 2362e41f4b71Sopenharmony_ci### off('connectionStateChange')<sup>(deprecated)</sup> 2363e41f4b71Sopenharmony_ci 2364e41f4b71Sopenharmony_cioff(type: 'connectionStateChange', callback?: Callback<[StateChangeParam](#statechangeparamdeprecated)>): void 2365e41f4b71Sopenharmony_ci 2366e41f4b71Sopenharmony_ci取消订阅HFP连接状态变化事件。 2367e41f4b71Sopenharmony_ci 2368e41f4b71Sopenharmony_ci> **说明:**<br/> 2369e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.off('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileoffconnectionstatechange)替代。 2370e41f4b71Sopenharmony_ci 2371e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2372e41f4b71Sopenharmony_ci 2373e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2374e41f4b71Sopenharmony_ci 2375e41f4b71Sopenharmony_ci**参数:** 2376e41f4b71Sopenharmony_ci 2377e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2378e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2379e41f4b71Sopenharmony_ci| type | string | 是 | 填写"connectionStateChange"字符串,表示连接状态变化事件。 | 2380e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | 否 | 表示回调函数的入参。 | 2381e41f4b71Sopenharmony_ci 2382e41f4b71Sopenharmony_ci**错误码**: 2383e41f4b71Sopenharmony_ci 2384e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2385e41f4b71Sopenharmony_ci 2386e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2387e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2388e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2389e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2390e41f4b71Sopenharmony_ci**示例:** 2391e41f4b71Sopenharmony_ci 2392e41f4b71Sopenharmony_ci```js 2393e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2394e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.StateChangeParam) { 2395e41f4b71Sopenharmony_ci console.info('hfp state = '+ JSON.stringify(data)); 2396e41f4b71Sopenharmony_ci} 2397e41f4b71Sopenharmony_citry { 2398e41f4b71Sopenharmony_cilet hfpAg: bluetoothManager.HandsFreeAudioGatewayProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as 2399e41f4b71Sopenharmony_ci bluetoothManager.HandsFreeAudioGatewayProfile; 2400e41f4b71Sopenharmony_cihfpAg.on('connectionStateChange', onReceiveEvent); 2401e41f4b71Sopenharmony_cihfpAg.off('connectionStateChange', onReceiveEvent); 2402e41f4b71Sopenharmony_ci} catch (err) { 2403e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2404e41f4b71Sopenharmony_ci} 2405e41f4b71Sopenharmony_ci``` 2406e41f4b71Sopenharmony_ci 2407e41f4b71Sopenharmony_ci 2408e41f4b71Sopenharmony_ci## HidHostProfile<sup>(deprecated)</sup> 2409e41f4b71Sopenharmony_ci 2410e41f4b71Sopenharmony_ci使用HidHostProfile方法之前需要创建该类的实例进行操作,通过getProfile()方法构造此实例。 2411e41f4b71Sopenharmony_ci 2412e41f4b71Sopenharmony_ci### on('connectionStateChange')<sup>(deprecated)</sup> 2413e41f4b71Sopenharmony_ci 2414e41f4b71Sopenharmony_cion(type: 'connectionStateChange', callback: Callback<[StateChangeParam](#statechangeparamdeprecated)>): void 2415e41f4b71Sopenharmony_ci 2416e41f4b71Sopenharmony_ci订阅HidHost连接状态变化事件。 2417e41f4b71Sopenharmony_ci 2418e41f4b71Sopenharmony_ci> **说明:**<br/> 2419e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.on('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileonconnectionstatechange)替代。 2420e41f4b71Sopenharmony_ci 2421e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2422e41f4b71Sopenharmony_ci 2423e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2424e41f4b71Sopenharmony_ci 2425e41f4b71Sopenharmony_ci**参数:** 2426e41f4b71Sopenharmony_ci 2427e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2428e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2429e41f4b71Sopenharmony_ci| type | string | 是 | 填写"connectionStateChange"字符串,表示连接状态变化事件。 | 2430e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | 是 | 表示回调函数的入参。 | 2431e41f4b71Sopenharmony_ci 2432e41f4b71Sopenharmony_ci**错误码**: 2433e41f4b71Sopenharmony_ci 2434e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2435e41f4b71Sopenharmony_ci 2436e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2437e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2438e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2439e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2440e41f4b71Sopenharmony_ci 2441e41f4b71Sopenharmony_ci**示例:** 2442e41f4b71Sopenharmony_ci 2443e41f4b71Sopenharmony_ci```js 2444e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2445e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.StateChangeParam) { 2446e41f4b71Sopenharmony_ci console.info('hidHost state = '+ JSON.stringify(data)); 2447e41f4b71Sopenharmony_ci} 2448e41f4b71Sopenharmony_citry { 2449e41f4b71Sopenharmony_cilet hidHost: bluetoothManager.HidHostProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile; 2450e41f4b71Sopenharmony_cihidHost.on('connectionStateChange', onReceiveEvent); 2451e41f4b71Sopenharmony_ci} catch (err) { 2452e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2453e41f4b71Sopenharmony_ci} 2454e41f4b71Sopenharmony_ci``` 2455e41f4b71Sopenharmony_ci 2456e41f4b71Sopenharmony_ci 2457e41f4b71Sopenharmony_ci### off('connectionStateChange')<sup>(deprecated)</sup> 2458e41f4b71Sopenharmony_ci 2459e41f4b71Sopenharmony_cioff(type: 'connectionStateChange', callback?: Callback<[StateChangeParam](#statechangeparamdeprecated)>): void 2460e41f4b71Sopenharmony_ci 2461e41f4b71Sopenharmony_ci取消订阅HidHost连接状态变化事件。 2462e41f4b71Sopenharmony_ci 2463e41f4b71Sopenharmony_ci> **说明:**<br/> 2464e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.off('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileoffconnectionstatechange)替代。 2465e41f4b71Sopenharmony_ci 2466e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2467e41f4b71Sopenharmony_ci 2468e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2469e41f4b71Sopenharmony_ci 2470e41f4b71Sopenharmony_ci**参数:** 2471e41f4b71Sopenharmony_ci 2472e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2473e41f4b71Sopenharmony_ci| -------- | ----------------------------------------------------- | ---- | --------------------------------------------------------- | 2474e41f4b71Sopenharmony_ci| type | string | 是 | 填写"connectionStateChange"字符串,表示连接状态变化事件。 | 2475e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | 否 | 表示回调函数的入参。 | 2476e41f4b71Sopenharmony_ci 2477e41f4b71Sopenharmony_ci**错误码**: 2478e41f4b71Sopenharmony_ci 2479e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2480e41f4b71Sopenharmony_ci 2481e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2482e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2483e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2484e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2485e41f4b71Sopenharmony_ci 2486e41f4b71Sopenharmony_ci**示例:** 2487e41f4b71Sopenharmony_ci 2488e41f4b71Sopenharmony_ci```js 2489e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2490e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.StateChangeParam) { 2491e41f4b71Sopenharmony_ci console.info('hidHost state = '+ JSON.stringify(data)); 2492e41f4b71Sopenharmony_ci} 2493e41f4b71Sopenharmony_citry { 2494e41f4b71Sopenharmony_cilet hidHost: bluetoothManager.HidHostProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_HID_HOST) as bluetoothManager.HidHostProfile; 2495e41f4b71Sopenharmony_cihidHost.on('connectionStateChange', onReceiveEvent); 2496e41f4b71Sopenharmony_cihidHost.off('connectionStateChange', onReceiveEvent); 2497e41f4b71Sopenharmony_ci} catch (err) { 2498e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2499e41f4b71Sopenharmony_ci} 2500e41f4b71Sopenharmony_ci``` 2501e41f4b71Sopenharmony_ci 2502e41f4b71Sopenharmony_ci 2503e41f4b71Sopenharmony_ci## PanProfile 2504e41f4b71Sopenharmony_ci 2505e41f4b71Sopenharmony_ci使用PanProfile方法之前需要创建该类的实例进行操作,通过getProfile()方法构造此实例。 2506e41f4b71Sopenharmony_ci 2507e41f4b71Sopenharmony_ci> **说明:**<br/> 2508e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[pan.PanProfile](js-apis-bluetooth-pan.md#panprofile)替代。 2509e41f4b71Sopenharmony_ci 2510e41f4b71Sopenharmony_ci 2511e41f4b71Sopenharmony_ci 2512e41f4b71Sopenharmony_ci 2513e41f4b71Sopenharmony_ci### on('connectionStateChange')<sup>(deprecated)</sup> 2514e41f4b71Sopenharmony_ci 2515e41f4b71Sopenharmony_cion(type: 'connectionStateChange', callback: Callback<[StateChangeParam](#statechangeparamdeprecated)>): void 2516e41f4b71Sopenharmony_ci 2517e41f4b71Sopenharmony_ci订阅Pan连接状态变化事件。 2518e41f4b71Sopenharmony_ci 2519e41f4b71Sopenharmony_ci> **说明:**<br/> 2520e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.on('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileonconnectionstatechange)替代。 2521e41f4b71Sopenharmony_ci 2522e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2523e41f4b71Sopenharmony_ci 2524e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2525e41f4b71Sopenharmony_ci 2526e41f4b71Sopenharmony_ci**参数:** 2527e41f4b71Sopenharmony_ci 2528e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2529e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2530e41f4b71Sopenharmony_ci| type | string | 是 | 填写"connectionStateChange"字符串,表示连接状态变化事件。 | 2531e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | 是 | 表示回调函数的入参。 | 2532e41f4b71Sopenharmony_ci 2533e41f4b71Sopenharmony_ci**错误码**: 2534e41f4b71Sopenharmony_ci 2535e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2536e41f4b71Sopenharmony_ci 2537e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2538e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2539e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2540e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2541e41f4b71Sopenharmony_ci 2542e41f4b71Sopenharmony_ci**示例:** 2543e41f4b71Sopenharmony_ci 2544e41f4b71Sopenharmony_ci```js 2545e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2546e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.StateChangeParam) { 2547e41f4b71Sopenharmony_ci console.info('pan state = '+ JSON.stringify(data)); 2548e41f4b71Sopenharmony_ci} 2549e41f4b71Sopenharmony_citry { 2550e41f4b71Sopenharmony_cilet panProfile: bluetoothManager.PanProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile; 2551e41f4b71Sopenharmony_cipanProfile.on('connectionStateChange', onReceiveEvent); 2552e41f4b71Sopenharmony_ci} catch (err) { 2553e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2554e41f4b71Sopenharmony_ci} 2555e41f4b71Sopenharmony_ci``` 2556e41f4b71Sopenharmony_ci 2557e41f4b71Sopenharmony_ci 2558e41f4b71Sopenharmony_ci### off('connectionStateChange')<sup>(deprecated)</sup> 2559e41f4b71Sopenharmony_ci 2560e41f4b71Sopenharmony_cioff(type: 'connectionStateChange', callback?: Callback<[StateChangeParam](#statechangeparamdeprecated)>): void 2561e41f4b71Sopenharmony_ci 2562e41f4b71Sopenharmony_ci取消订阅Pan连接状态变化事件。 2563e41f4b71Sopenharmony_ci 2564e41f4b71Sopenharmony_ci> **说明:**<br/> 2565e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.off('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileoffconnectionstatechange)替代。 2566e41f4b71Sopenharmony_ci 2567e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2568e41f4b71Sopenharmony_ci 2569e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2570e41f4b71Sopenharmony_ci 2571e41f4b71Sopenharmony_ci**参数:** 2572e41f4b71Sopenharmony_ci 2573e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2574e41f4b71Sopenharmony_ci| -------- | ----------------------------------------------------- | ---- | --------------------------------------------------------- | 2575e41f4b71Sopenharmony_ci| type | string | 是 | 填写"connectionStateChange"字符串,表示连接状态变化事件。 | 2576e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | 否 | 表示回调函数的入参。 | 2577e41f4b71Sopenharmony_ci 2578e41f4b71Sopenharmony_ci**错误码**: 2579e41f4b71Sopenharmony_ci 2580e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2581e41f4b71Sopenharmony_ci 2582e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2583e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2584e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2585e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2586e41f4b71Sopenharmony_ci 2587e41f4b71Sopenharmony_ci**示例:** 2588e41f4b71Sopenharmony_ci 2589e41f4b71Sopenharmony_ci```js 2590e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2591e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.StateChangeParam) { 2592e41f4b71Sopenharmony_ci console.info('pan state = '+ JSON.stringify(data)); 2593e41f4b71Sopenharmony_ci} 2594e41f4b71Sopenharmony_citry { 2595e41f4b71Sopenharmony_cilet panProfile: bluetoothManager.PanProfile = bluetoothManager.getProfileInstance(bluetoothManager.ProfileId.PROFILE_PAN_NETWORK) as bluetoothManager.PanProfile; 2596e41f4b71Sopenharmony_cipanProfile.on('connectionStateChange', onReceiveEvent); 2597e41f4b71Sopenharmony_cipanProfile.off('connectionStateChange', onReceiveEvent); 2598e41f4b71Sopenharmony_ci} catch (err) { 2599e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2600e41f4b71Sopenharmony_ci} 2601e41f4b71Sopenharmony_ci``` 2602e41f4b71Sopenharmony_ci 2603e41f4b71Sopenharmony_ci 2604e41f4b71Sopenharmony_ci## GattServer 2605e41f4b71Sopenharmony_ci 2606e41f4b71Sopenharmony_ciserver端类,使用server端方法之前需要创建该类的实例进行操作,通过createGattServer()方法构造此实例。 2607e41f4b71Sopenharmony_ci 2608e41f4b71Sopenharmony_ci> **说明:**<br/> 2609e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer](js-apis-bluetooth-ble.md#GattServer)替代。 2610e41f4b71Sopenharmony_ci 2611e41f4b71Sopenharmony_ci 2612e41f4b71Sopenharmony_ci### startAdvertising<sup>(deprecated)</sup> 2613e41f4b71Sopenharmony_ci 2614e41f4b71Sopenharmony_cistartAdvertising(setting: AdvertiseSetting, advData: AdvertiseData, advResponse?: AdvertiseData): void 2615e41f4b71Sopenharmony_ci 2616e41f4b71Sopenharmony_ci开始发送BLE广播。 2617e41f4b71Sopenharmony_ci 2618e41f4b71Sopenharmony_ci> **说明:**<br/> 2619e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.startAdvertising](js-apis-bluetooth-ble.md#blestartadvertising)替代。 2620e41f4b71Sopenharmony_ci 2621e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2622e41f4b71Sopenharmony_ci 2623e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2624e41f4b71Sopenharmony_ci 2625e41f4b71Sopenharmony_ci**参数:** 2626e41f4b71Sopenharmony_ci 2627e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2628e41f4b71Sopenharmony_ci| ----------- | ------------------------------------- | ---- | -------------- | 2629e41f4b71Sopenharmony_ci| setting | [AdvertiseSetting](#advertisesettingdeprecated) | 是 | BLE广播的相关参数。 | 2630e41f4b71Sopenharmony_ci| advData | [AdvertiseData](#advertisedatadeprecated) | 是 | BLE广播包内容。 | 2631e41f4b71Sopenharmony_ci| advResponse | [AdvertiseData](#advertisedatadeprecated) | 否 | BLE回复扫描请求回复响应。 | 2632e41f4b71Sopenharmony_ci 2633e41f4b71Sopenharmony_ci**错误码**: 2634e41f4b71Sopenharmony_ci 2635e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2636e41f4b71Sopenharmony_ci 2637e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2638e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2639e41f4b71Sopenharmony_ci|201 | Permission denied. | 2640e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2641e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2642e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2643e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2644e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2645e41f4b71Sopenharmony_ci 2646e41f4b71Sopenharmony_ci**示例:** 2647e41f4b71Sopenharmony_ci 2648e41f4b71Sopenharmony_ci```js 2649e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2650e41f4b71Sopenharmony_cilet manufactureValueBuffer = new Uint8Array(4); 2651e41f4b71Sopenharmony_cimanufactureValueBuffer[0] = 1; 2652e41f4b71Sopenharmony_cimanufactureValueBuffer[1] = 2; 2653e41f4b71Sopenharmony_cimanufactureValueBuffer[2] = 3; 2654e41f4b71Sopenharmony_cimanufactureValueBuffer[3] = 4; 2655e41f4b71Sopenharmony_ci 2656e41f4b71Sopenharmony_cilet serviceValueBuffer = new Uint8Array(4); 2657e41f4b71Sopenharmony_ciserviceValueBuffer[0] = 4; 2658e41f4b71Sopenharmony_ciserviceValueBuffer[1] = 6; 2659e41f4b71Sopenharmony_ciserviceValueBuffer[2] = 7; 2660e41f4b71Sopenharmony_ciserviceValueBuffer[3] = 8; 2661e41f4b71Sopenharmony_ciconsole.info('manufactureValueBuffer = '+ JSON.stringify(manufactureValueBuffer)); 2662e41f4b71Sopenharmony_ciconsole.info('serviceValueBuffer = '+ JSON.stringify(serviceValueBuffer)); 2663e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 2664e41f4b71Sopenharmony_citry { 2665e41f4b71Sopenharmony_ci let setting: bluetoothManager.AdvertiseSetting = { 2666e41f4b71Sopenharmony_ci interval:150, 2667e41f4b71Sopenharmony_ci txPower:0, 2668e41f4b71Sopenharmony_ci connectable:true, 2669e41f4b71Sopenharmony_ci }; 2670e41f4b71Sopenharmony_ci let manufactureDataUnit: bluetoothManager.ManufactureData = { 2671e41f4b71Sopenharmony_ci manufactureId:4567, 2672e41f4b71Sopenharmony_ci manufactureValue:manufactureValueBuffer.buffer 2673e41f4b71Sopenharmony_ci }; 2674e41f4b71Sopenharmony_ci let serviceDataUnit: bluetoothManager.ServiceData = { 2675e41f4b71Sopenharmony_ci serviceUuid:"00001888-0000-1000-8000-00805f9b34fb", 2676e41f4b71Sopenharmony_ci serviceValue:serviceValueBuffer.buffer 2677e41f4b71Sopenharmony_ci }; 2678e41f4b71Sopenharmony_ci let advData: bluetoothManager.AdvertiseData = { 2679e41f4b71Sopenharmony_ci serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"], 2680e41f4b71Sopenharmony_ci manufactureData:[manufactureDataUnit], 2681e41f4b71Sopenharmony_ci serviceData:[serviceDataUnit], 2682e41f4b71Sopenharmony_ci }; 2683e41f4b71Sopenharmony_ci let advResponse: bluetoothManager.AdvertiseData = { 2684e41f4b71Sopenharmony_ci serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"], 2685e41f4b71Sopenharmony_ci manufactureData:[manufactureDataUnit], 2686e41f4b71Sopenharmony_ci serviceData:[serviceDataUnit], 2687e41f4b71Sopenharmony_ci }; 2688e41f4b71Sopenharmony_ci gattServer.startAdvertising(setting, advData ,advResponse); 2689e41f4b71Sopenharmony_ci} catch (err) { 2690e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2691e41f4b71Sopenharmony_ci} 2692e41f4b71Sopenharmony_ci``` 2693e41f4b71Sopenharmony_ci 2694e41f4b71Sopenharmony_ci 2695e41f4b71Sopenharmony_ci### stopAdvertising<sup>(deprecated)</sup> 2696e41f4b71Sopenharmony_ci 2697e41f4b71Sopenharmony_cistopAdvertising(): void 2698e41f4b71Sopenharmony_ci 2699e41f4b71Sopenharmony_ci停止发送BLE广播。 2700e41f4b71Sopenharmony_ci 2701e41f4b71Sopenharmony_ci> **说明:**<br/> 2702e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.stopAdvertising](js-apis-bluetooth-ble.md#blestopadvertising)替代。 2703e41f4b71Sopenharmony_ci 2704e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2705e41f4b71Sopenharmony_ci 2706e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2707e41f4b71Sopenharmony_ci 2708e41f4b71Sopenharmony_ci**错误码**: 2709e41f4b71Sopenharmony_ci 2710e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2711e41f4b71Sopenharmony_ci 2712e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2713e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2714e41f4b71Sopenharmony_ci|201 | Permission denied. | 2715e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2716e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2717e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2718e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2719e41f4b71Sopenharmony_ci 2720e41f4b71Sopenharmony_ci**示例:** 2721e41f4b71Sopenharmony_ci 2722e41f4b71Sopenharmony_ci```js 2723e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2724e41f4b71Sopenharmony_cilet server = bluetoothManager.BLE.createGattServer(); 2725e41f4b71Sopenharmony_citry { 2726e41f4b71Sopenharmony_ci server.stopAdvertising(); 2727e41f4b71Sopenharmony_ci} catch (err) { 2728e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2729e41f4b71Sopenharmony_ci} 2730e41f4b71Sopenharmony_ci``` 2731e41f4b71Sopenharmony_ci 2732e41f4b71Sopenharmony_ci 2733e41f4b71Sopenharmony_ci### addService<sup>(deprecated)</sup> 2734e41f4b71Sopenharmony_ci 2735e41f4b71Sopenharmony_ciaddService(service: GattService): void 2736e41f4b71Sopenharmony_ci 2737e41f4b71Sopenharmony_ciserver端添加服务。 2738e41f4b71Sopenharmony_ci 2739e41f4b71Sopenharmony_ci> **说明:**<br/> 2740e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#addService](js-apis-bluetooth-ble.md#addservice)替代。 2741e41f4b71Sopenharmony_ci 2742e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2743e41f4b71Sopenharmony_ci 2744e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2745e41f4b71Sopenharmony_ci 2746e41f4b71Sopenharmony_ci**参数:** 2747e41f4b71Sopenharmony_ci 2748e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2749e41f4b71Sopenharmony_ci| ------- | --------------------------- | ---- | ------------------------ | 2750e41f4b71Sopenharmony_ci| service | [GattService](#gattservicedeprecated) | 是 | 服务端的service数据。BLE广播的相关参数 | 2751e41f4b71Sopenharmony_ci 2752e41f4b71Sopenharmony_ci**错误码**: 2753e41f4b71Sopenharmony_ci 2754e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2755e41f4b71Sopenharmony_ci 2756e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2757e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2758e41f4b71Sopenharmony_ci|201 | Permission denied. | 2759e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2760e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2761e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2762e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2763e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2764e41f4b71Sopenharmony_ci 2765e41f4b71Sopenharmony_ci**示例:** 2766e41f4b71Sopenharmony_ci 2767e41f4b71Sopenharmony_ci```js 2768e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2769e41f4b71Sopenharmony_ci// 创建descriptors 2770e41f4b71Sopenharmony_cilet descriptors: Array<bluetoothManager.BLEDescriptor> = []; 2771e41f4b71Sopenharmony_cilet arrayBuffer = new ArrayBuffer(8); 2772e41f4b71Sopenharmony_cilet descV = new Uint8Array(arrayBuffer); 2773e41f4b71Sopenharmony_cidescV[0] = 11; 2774e41f4b71Sopenharmony_cilet descriptor: bluetoothManager.BLEDescriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 2775e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 2776e41f4b71Sopenharmony_ci descriptorUuid: '00002902-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer}; 2777e41f4b71Sopenharmony_cidescriptors[0] = descriptor; 2778e41f4b71Sopenharmony_ci 2779e41f4b71Sopenharmony_ci// 创建characteristics 2780e41f4b71Sopenharmony_cilet characteristics: Array<bluetoothManager.BLECharacteristic> = []; 2781e41f4b71Sopenharmony_cilet arrayBufferC = new ArrayBuffer(8); 2782e41f4b71Sopenharmony_cilet cccV = new Uint8Array(arrayBufferC); 2783e41f4b71Sopenharmony_cicccV[0] = 1; 2784e41f4b71Sopenharmony_cilet characteristic: bluetoothManager.BLECharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 2785e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors}; 2786e41f4b71Sopenharmony_cilet characteristicN: bluetoothManager.BLECharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 2787e41f4b71Sopenharmony_ci characteristicUuid: '00001821-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors}; 2788e41f4b71Sopenharmony_cicharacteristics[0] = characteristic; 2789e41f4b71Sopenharmony_ci 2790e41f4b71Sopenharmony_ci// 创建gattService 2791e41f4b71Sopenharmony_cilet gattService: bluetoothManager.GattService = {serviceUuid:'00001810-0000-1000-8000-00805F9B34FB', isPrimary: true, characteristics:characteristics, includeServices:[]}; 2792e41f4b71Sopenharmony_ci 2793e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 2794e41f4b71Sopenharmony_citry { 2795e41f4b71Sopenharmony_ci gattServer.addService(gattService); 2796e41f4b71Sopenharmony_ci} catch (err) { 2797e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2798e41f4b71Sopenharmony_ci} 2799e41f4b71Sopenharmony_ci``` 2800e41f4b71Sopenharmony_ci 2801e41f4b71Sopenharmony_ci 2802e41f4b71Sopenharmony_ci### removeService<sup>(deprecated)</sup> 2803e41f4b71Sopenharmony_ci 2804e41f4b71Sopenharmony_ciremoveService(serviceUuid: string): void 2805e41f4b71Sopenharmony_ci 2806e41f4b71Sopenharmony_ci删除已添加的服务。 2807e41f4b71Sopenharmony_ci 2808e41f4b71Sopenharmony_ci> **说明:**<br/> 2809e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#removeService](js-apis-bluetooth-ble.md#removeservice)替代。 2810e41f4b71Sopenharmony_ci 2811e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2812e41f4b71Sopenharmony_ci 2813e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2814e41f4b71Sopenharmony_ci 2815e41f4b71Sopenharmony_ci**参数:** 2816e41f4b71Sopenharmony_ci 2817e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2818e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------------------------------------- | 2819e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | service的UUID,例如“00001810-0000-1000-8000-00805F9B34FB”。 | 2820e41f4b71Sopenharmony_ci 2821e41f4b71Sopenharmony_ci**错误码**: 2822e41f4b71Sopenharmony_ci 2823e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2824e41f4b71Sopenharmony_ci 2825e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2826e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2827e41f4b71Sopenharmony_ci|201 | Permission denied. | 2828e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2829e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2830e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2831e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2832e41f4b71Sopenharmony_ci|2900004 | Profile not supported. | 2833e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2834e41f4b71Sopenharmony_ci 2835e41f4b71Sopenharmony_ci**示例:** 2836e41f4b71Sopenharmony_ci 2837e41f4b71Sopenharmony_ci```js 2838e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2839e41f4b71Sopenharmony_cilet server = bluetoothManager.BLE.createGattServer(); 2840e41f4b71Sopenharmony_citry { 2841e41f4b71Sopenharmony_ci server.removeService('00001810-0000-1000-8000-00805F9B34FB'); 2842e41f4b71Sopenharmony_ci} catch (err) { 2843e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2844e41f4b71Sopenharmony_ci} 2845e41f4b71Sopenharmony_ci``` 2846e41f4b71Sopenharmony_ci 2847e41f4b71Sopenharmony_ci 2848e41f4b71Sopenharmony_ci### close<sup>(deprecated)</sup> 2849e41f4b71Sopenharmony_ci 2850e41f4b71Sopenharmony_ciclose(): void 2851e41f4b71Sopenharmony_ci 2852e41f4b71Sopenharmony_ci关闭服务端功能,去注册server在协议栈的注册,调用该接口后[GattServer](#gattserver)实例将不能再使用。 2853e41f4b71Sopenharmony_ci 2854e41f4b71Sopenharmony_ci> **说明:**<br/> 2855e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#close](js-apis-bluetooth-ble.md#close)替代。 2856e41f4b71Sopenharmony_ci 2857e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2858e41f4b71Sopenharmony_ci 2859e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2860e41f4b71Sopenharmony_ci 2861e41f4b71Sopenharmony_ci**错误码**: 2862e41f4b71Sopenharmony_ci 2863e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2864e41f4b71Sopenharmony_ci 2865e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2866e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2867e41f4b71Sopenharmony_ci|201 | Permission denied. | 2868e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2869e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2870e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2871e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2872e41f4b71Sopenharmony_ci 2873e41f4b71Sopenharmony_ci**示例:** 2874e41f4b71Sopenharmony_ci 2875e41f4b71Sopenharmony_ci```js 2876e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2877e41f4b71Sopenharmony_cilet server = bluetoothManager.BLE.createGattServer(); 2878e41f4b71Sopenharmony_citry { 2879e41f4b71Sopenharmony_ci server.close(); 2880e41f4b71Sopenharmony_ci} catch (err) { 2881e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2882e41f4b71Sopenharmony_ci} 2883e41f4b71Sopenharmony_ci``` 2884e41f4b71Sopenharmony_ci 2885e41f4b71Sopenharmony_ci 2886e41f4b71Sopenharmony_ci### notifyCharacteristicChanged<sup>(deprecated)</sup> 2887e41f4b71Sopenharmony_ci 2888e41f4b71Sopenharmony_cinotifyCharacteristicChanged(deviceId: string, notifyCharacteristic: NotifyCharacteristic): void 2889e41f4b71Sopenharmony_ci 2890e41f4b71Sopenharmony_ciserver端特征值发生变化时,主动通知已连接的client设备。 2891e41f4b71Sopenharmony_ci 2892e41f4b71Sopenharmony_ci> **说明:**<br/> 2893e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#notifyCharacteristicChanged](js-apis-bluetooth-ble.md#notifycharacteristicchanged)替代。 2894e41f4b71Sopenharmony_ci 2895e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2896e41f4b71Sopenharmony_ci 2897e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2898e41f4b71Sopenharmony_ci 2899e41f4b71Sopenharmony_ci**参数:** 2900e41f4b71Sopenharmony_ci 2901e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2902e41f4b71Sopenharmony_ci| -------------------- | ---------------------------------------- | ---- | --------------------------------------- | 2903e41f4b71Sopenharmony_ci| deviceId | string | 是 | 接收通知的client端设备地址,例如“XX:XX:XX:XX:XX:XX”。 | 2904e41f4b71Sopenharmony_ci| notifyCharacteristic | [NotifyCharacteristic](#notifycharacteristicdeprecated) | 是 | 通知的特征值数据。 | 2905e41f4b71Sopenharmony_ci 2906e41f4b71Sopenharmony_ci**错误码**: 2907e41f4b71Sopenharmony_ci 2908e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2909e41f4b71Sopenharmony_ci 2910e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2911e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2912e41f4b71Sopenharmony_ci|201 | Permission denied. | 2913e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2914e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2915e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2916e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2917e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2918e41f4b71Sopenharmony_ci 2919e41f4b71Sopenharmony_ci**示例:** 2920e41f4b71Sopenharmony_ci 2921e41f4b71Sopenharmony_ci```js 2922e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2923e41f4b71Sopenharmony_ci// 创建descriptors 2924e41f4b71Sopenharmony_cilet descriptors: Array<bluetoothManager.BLEDescriptor> = []; 2925e41f4b71Sopenharmony_cilet arrayBuffer = new ArrayBuffer(8); 2926e41f4b71Sopenharmony_cilet descV = new Uint8Array(arrayBuffer); 2927e41f4b71Sopenharmony_cidescV[0] = 11; 2928e41f4b71Sopenharmony_cilet descriptor: bluetoothManager.BLEDescriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 2929e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 2930e41f4b71Sopenharmony_ci descriptorUuid: '00002902-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer}; 2931e41f4b71Sopenharmony_cidescriptors[0] = descriptor; 2932e41f4b71Sopenharmony_cilet arrayBufferC = new ArrayBuffer(8); 2933e41f4b71Sopenharmony_cilet characteristic: bluetoothManager.BLECharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 2934e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors}; 2935e41f4b71Sopenharmony_cilet notifyCharacteristic: bluetoothManager.NotifyCharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 2936e41f4b71Sopenharmony_ci characteristicUuid: '00001821-0000-1000-8000-00805F9B34FB', characteristicValue: characteristic.characteristicValue, confirm: false}; 2937e41f4b71Sopenharmony_cilet server = bluetoothManager.BLE.createGattServer(); 2938e41f4b71Sopenharmony_citry { 2939e41f4b71Sopenharmony_ci server.notifyCharacteristicChanged('XX:XX:XX:XX:XX:XX', notifyCharacteristic); 2940e41f4b71Sopenharmony_ci} catch (err) { 2941e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2942e41f4b71Sopenharmony_ci} 2943e41f4b71Sopenharmony_ci``` 2944e41f4b71Sopenharmony_ci 2945e41f4b71Sopenharmony_ci 2946e41f4b71Sopenharmony_ci### sendResponse<sup>(deprecated)</sup> 2947e41f4b71Sopenharmony_ci 2948e41f4b71Sopenharmony_cisendResponse(serverResponse: ServerResponse): void 2949e41f4b71Sopenharmony_ci 2950e41f4b71Sopenharmony_ciserver端回复client端的读写请求。 2951e41f4b71Sopenharmony_ci 2952e41f4b71Sopenharmony_ci> **说明:**<br/> 2953e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#sendResponse](js-apis-bluetooth-ble.md#sendresponse)替代。 2954e41f4b71Sopenharmony_ci 2955e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 2956e41f4b71Sopenharmony_ci 2957e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 2958e41f4b71Sopenharmony_ci 2959e41f4b71Sopenharmony_ci**参数:** 2960e41f4b71Sopenharmony_ci 2961e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 2962e41f4b71Sopenharmony_ci| -------------- | --------------------------------- | ---- | --------------- | 2963e41f4b71Sopenharmony_ci| serverResponse | [ServerResponse](#serverresponsedeprecated) | 是 | server端回复的响应数据。 | 2964e41f4b71Sopenharmony_ci 2965e41f4b71Sopenharmony_ci**错误码**: 2966e41f4b71Sopenharmony_ci 2967e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 2968e41f4b71Sopenharmony_ci 2969e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 2970e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2971e41f4b71Sopenharmony_ci|201 | Permission denied. | 2972e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 2973e41f4b71Sopenharmony_ci|801 | Capability not supported. | 2974e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 2975e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 2976e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 2977e41f4b71Sopenharmony_ci 2978e41f4b71Sopenharmony_ci**示例:** 2979e41f4b71Sopenharmony_ci 2980e41f4b71Sopenharmony_ci```js 2981e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2982e41f4b71Sopenharmony_ci/* send response */ 2983e41f4b71Sopenharmony_cilet arrayBufferCCC = new ArrayBuffer(8); 2984e41f4b71Sopenharmony_cilet cccValue = new Uint8Array(arrayBufferCCC); 2985e41f4b71Sopenharmony_cicccValue[0] = 1123; 2986e41f4b71Sopenharmony_cilet serverResponse: bluetoothManager.ServerResponse = { 2987e41f4b71Sopenharmony_ci deviceId: 'XX:XX:XX:XX:XX:XX', 2988e41f4b71Sopenharmony_ci transId: 0, 2989e41f4b71Sopenharmony_ci status: 0, 2990e41f4b71Sopenharmony_ci offset: 0, 2991e41f4b71Sopenharmony_ci value: arrayBufferCCC, 2992e41f4b71Sopenharmony_ci}; 2993e41f4b71Sopenharmony_ci 2994e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 2995e41f4b71Sopenharmony_citry { 2996e41f4b71Sopenharmony_ci gattServer.sendResponse(serverResponse); 2997e41f4b71Sopenharmony_ci} catch (err) { 2998e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 2999e41f4b71Sopenharmony_ci} 3000e41f4b71Sopenharmony_ci``` 3001e41f4b71Sopenharmony_ci 3002e41f4b71Sopenharmony_ci 3003e41f4b71Sopenharmony_ci### on('characteristicRead')<sup>(deprecated)</sup> 3004e41f4b71Sopenharmony_ci 3005e41f4b71Sopenharmony_cion(type: 'characteristicRead', callback: Callback<CharacteristicReadRequest>): void 3006e41f4b71Sopenharmony_ci 3007e41f4b71Sopenharmony_ciserver端订阅特征值读请求事件。 3008e41f4b71Sopenharmony_ci 3009e41f4b71Sopenharmony_ci> **说明:**<br/> 3010e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#on('characteristicRead')](js-apis-bluetooth-ble.md#oncharacteristicread)替代。 3011e41f4b71Sopenharmony_ci 3012e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3013e41f4b71Sopenharmony_ci 3014e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3015e41f4b71Sopenharmony_ci 3016e41f4b71Sopenharmony_ci**参数:** 3017e41f4b71Sopenharmony_ci 3018e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3019e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ------------------------------------- | 3020e41f4b71Sopenharmony_ci| type | string | 是 | 填写"characteristicRead"字符串,表示特征值读请求事件。 | 3021e41f4b71Sopenharmony_ci| callback | Callback<[CharacteristicReadRequest](#characteristicreadrequestdeprecated)> | 是 | 表示回调函数的入参,client端发送的读请求数据。 | 3022e41f4b71Sopenharmony_ci 3023e41f4b71Sopenharmony_ci**错误码**: 3024e41f4b71Sopenharmony_ci 3025e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3026e41f4b71Sopenharmony_ci 3027e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3028e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3029e41f4b71Sopenharmony_ci|201 | Permission denied. | 3030e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3031e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3032e41f4b71Sopenharmony_ci 3033e41f4b71Sopenharmony_ci**示例:** 3034e41f4b71Sopenharmony_ci 3035e41f4b71Sopenharmony_ci```js 3036e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3037e41f4b71Sopenharmony_cilet arrayBufferCCC = new ArrayBuffer(8); 3038e41f4b71Sopenharmony_cilet cccValue = new Uint8Array(arrayBufferCCC); 3039e41f4b71Sopenharmony_cicccValue[0] = 1123; 3040e41f4b71Sopenharmony_cifunction ReadCharacteristicReq(characteristicReadRequest: bluetoothManager.CharacteristicReadRequest) { 3041e41f4b71Sopenharmony_ci let deviceId: string = characteristicReadRequest.deviceId; 3042e41f4b71Sopenharmony_ci let transId: number = characteristicReadRequest.transId; 3043e41f4b71Sopenharmony_ci let offset: number = characteristicReadRequest.offset; 3044e41f4b71Sopenharmony_ci let characteristicUuid: string = characteristicReadRequest.characteristicUuid; 3045e41f4b71Sopenharmony_ci 3046e41f4b71Sopenharmony_ci let serverResponse: bluetoothManager.ServerResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferCCC}; 3047e41f4b71Sopenharmony_ci 3048e41f4b71Sopenharmony_ci try { 3049e41f4b71Sopenharmony_ci gattServer.sendResponse(serverResponse); 3050e41f4b71Sopenharmony_ci } catch (err) { 3051e41f4b71Sopenharmony_ci console.error('errCode: ' + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3052e41f4b71Sopenharmony_ci } 3053e41f4b71Sopenharmony_ci} 3054e41f4b71Sopenharmony_ci 3055e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 3056e41f4b71Sopenharmony_cigattServer.on("characteristicRead", ReadCharacteristicReq); 3057e41f4b71Sopenharmony_ci``` 3058e41f4b71Sopenharmony_ci 3059e41f4b71Sopenharmony_ci 3060e41f4b71Sopenharmony_ci### off('characteristicRead')<sup>(deprecated)</sup> 3061e41f4b71Sopenharmony_ci 3062e41f4b71Sopenharmony_cioff(type: 'characteristicRead', callback?: Callback<CharacteristicReadRequest>): void 3063e41f4b71Sopenharmony_ci 3064e41f4b71Sopenharmony_ciserver端取消订阅特征值读请求事件。 3065e41f4b71Sopenharmony_ci 3066e41f4b71Sopenharmony_ci> **说明:**<br/> 3067e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#off('characteristicRead')](js-apis-bluetooth-ble.md#offcharacteristicread)替代。 3068e41f4b71Sopenharmony_ci 3069e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3070e41f4b71Sopenharmony_ci 3071e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3072e41f4b71Sopenharmony_ci 3073e41f4b71Sopenharmony_ci**参数:** 3074e41f4b71Sopenharmony_ci 3075e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3076e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3077e41f4b71Sopenharmony_ci| type | string | 是 | 填写"characteristicRead"字符串,表示特征值读请求事件。 | 3078e41f4b71Sopenharmony_ci| callback | Callback<[CharacteristicReadRequest](#characteristicreadrequestdeprecated)> | 否 | 表示取消订阅特征值读请求事件上报。不填该参数则取消订阅该type对应的所有回调。 | 3079e41f4b71Sopenharmony_ci 3080e41f4b71Sopenharmony_ci**错误码**: 3081e41f4b71Sopenharmony_ci 3082e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3083e41f4b71Sopenharmony_ci 3084e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3085e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3086e41f4b71Sopenharmony_ci|201 | Permission denied. | 3087e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3088e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3089e41f4b71Sopenharmony_ci 3090e41f4b71Sopenharmony_ci**示例:** 3091e41f4b71Sopenharmony_ci 3092e41f4b71Sopenharmony_ci```js 3093e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3094e41f4b71Sopenharmony_citry { 3095e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 3096e41f4b71Sopenharmony_cigattServer.off("characteristicRead"); 3097e41f4b71Sopenharmony_ci} catch (err) { 3098e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3099e41f4b71Sopenharmony_ci} 3100e41f4b71Sopenharmony_ci``` 3101e41f4b71Sopenharmony_ci 3102e41f4b71Sopenharmony_ci 3103e41f4b71Sopenharmony_ci### on('characteristicWrite')<sup>(deprecated)</sup> 3104e41f4b71Sopenharmony_ci 3105e41f4b71Sopenharmony_cion(type: 'characteristicWrite', callback: Callback<CharacteristicWriteRequest>): void 3106e41f4b71Sopenharmony_ci 3107e41f4b71Sopenharmony_ciserver端订阅特征值写请求事件。 3108e41f4b71Sopenharmony_ci 3109e41f4b71Sopenharmony_ci> **说明:**<br/> 3110e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#on('characteristicWrite')](js-apis-bluetooth-ble.md#oncharacteristicwrite)替代。 3111e41f4b71Sopenharmony_ci 3112e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3113e41f4b71Sopenharmony_ci 3114e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3115e41f4b71Sopenharmony_ci 3116e41f4b71Sopenharmony_ci**参数:** 3117e41f4b71Sopenharmony_ci 3118e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3119e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | -------------------------------------- | 3120e41f4b71Sopenharmony_ci| type | string | 是 | 填写"characteristicWrite"字符串,表示特征值写请求事件。 | 3121e41f4b71Sopenharmony_ci| callback | Callback<[CharacteristicWriteRequest](#characteristicwriterequestdeprecated)> | 是 | 表示回调函数的入参,client端发送的写请求数据。 | 3122e41f4b71Sopenharmony_ci 3123e41f4b71Sopenharmony_ci**错误码**: 3124e41f4b71Sopenharmony_ci 3125e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3126e41f4b71Sopenharmony_ci 3127e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3128e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3129e41f4b71Sopenharmony_ci|201 | Permission denied. | 3130e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3131e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3132e41f4b71Sopenharmony_ci 3133e41f4b71Sopenharmony_ci**示例:** 3134e41f4b71Sopenharmony_ci 3135e41f4b71Sopenharmony_ci```js 3136e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3137e41f4b71Sopenharmony_cilet arrayBufferCCC = new ArrayBuffer(8); 3138e41f4b71Sopenharmony_cilet cccValue = new Uint8Array(arrayBufferCCC); 3139e41f4b71Sopenharmony_cifunction WriteCharacteristicReq(characteristicWriteRequest: bluetoothManager.CharacteristicWriteRequest) { 3140e41f4b71Sopenharmony_ci let deviceId: string = characteristicWriteRequest.deviceId; 3141e41f4b71Sopenharmony_ci let transId: number = characteristicWriteRequest.transId; 3142e41f4b71Sopenharmony_ci let offset: number = characteristicWriteRequest.offset; 3143e41f4b71Sopenharmony_ci let isPrep: boolean = characteristicWriteRequest.isPrep; 3144e41f4b71Sopenharmony_ci let needRsp: boolean = characteristicWriteRequest.needRsp; 3145e41f4b71Sopenharmony_ci let value: Uint8Array = new Uint8Array(characteristicWriteRequest.value); 3146e41f4b71Sopenharmony_ci let characteristicUuid: string = characteristicWriteRequest.characteristicUuid; 3147e41f4b71Sopenharmony_ci 3148e41f4b71Sopenharmony_ci cccValue[0] = value[0]; 3149e41f4b71Sopenharmony_ci let serverResponse: bluetoothManager.ServerResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferCCC}; 3150e41f4b71Sopenharmony_ci 3151e41f4b71Sopenharmony_ci try { 3152e41f4b71Sopenharmony_ci gattServer.sendResponse(serverResponse); 3153e41f4b71Sopenharmony_ci } catch (err) { 3154e41f4b71Sopenharmony_ci console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); 3155e41f4b71Sopenharmony_ci } 3156e41f4b71Sopenharmony_ci} 3157e41f4b71Sopenharmony_ci 3158e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 3159e41f4b71Sopenharmony_cigattServer.on("characteristicWrite", WriteCharacteristicReq); 3160e41f4b71Sopenharmony_ci``` 3161e41f4b71Sopenharmony_ci 3162e41f4b71Sopenharmony_ci 3163e41f4b71Sopenharmony_ci### off('characteristicWrite')<sup>(deprecated)</sup> 3164e41f4b71Sopenharmony_ci 3165e41f4b71Sopenharmony_cioff(type: 'characteristicWrite', callback?: Callback<CharacteristicWriteRequest>): void 3166e41f4b71Sopenharmony_ci 3167e41f4b71Sopenharmony_ciserver端取消订阅特征值写请求事件。 3168e41f4b71Sopenharmony_ci 3169e41f4b71Sopenharmony_ci> **说明:**<br/> 3170e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#off('characteristicWrite')](js-apis-bluetooth-ble.md#offcharacteristicwrite)替代。 3171e41f4b71Sopenharmony_ci 3172e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3173e41f4b71Sopenharmony_ci 3174e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3175e41f4b71Sopenharmony_ci 3176e41f4b71Sopenharmony_ci**参数:** 3177e41f4b71Sopenharmony_ci 3178e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3179e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3180e41f4b71Sopenharmony_ci| type | string | 是 | 填写"characteristicWrite"字符串,表示特征值写请求事件。 | 3181e41f4b71Sopenharmony_ci| callback | Callback<[CharacteristicWriteRequest](#characteristicwriterequestdeprecated)> | 否 | 表示取消订阅特征值写请求事件上报。不填该参数则取消订阅该type对应的所有回调。 | 3182e41f4b71Sopenharmony_ci 3183e41f4b71Sopenharmony_ci**错误码**: 3184e41f4b71Sopenharmony_ci 3185e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3186e41f4b71Sopenharmony_ci 3187e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3188e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3189e41f4b71Sopenharmony_ci|201 | Permission denied. | 3190e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3191e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3192e41f4b71Sopenharmony_ci 3193e41f4b71Sopenharmony_ci**示例:** 3194e41f4b71Sopenharmony_ci 3195e41f4b71Sopenharmony_ci```js 3196e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3197e41f4b71Sopenharmony_citry { 3198e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 3199e41f4b71Sopenharmony_cigattServer.off("characteristicWrite"); 3200e41f4b71Sopenharmony_ci} catch (err) { 3201e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3202e41f4b71Sopenharmony_ci} 3203e41f4b71Sopenharmony_ci``` 3204e41f4b71Sopenharmony_ci 3205e41f4b71Sopenharmony_ci 3206e41f4b71Sopenharmony_ci### on('descriptorRead')<sup>(deprecated)</sup> 3207e41f4b71Sopenharmony_ci 3208e41f4b71Sopenharmony_cion(type: 'descriptorRead', callback: Callback<DescriptorReadRequest>): void 3209e41f4b71Sopenharmony_ci 3210e41f4b71Sopenharmony_ciserver端订阅描述符读请求事件。 3211e41f4b71Sopenharmony_ci 3212e41f4b71Sopenharmony_ci> **说明:**<br/> 3213e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#on('descriptorRead')](js-apis-bluetooth-ble.md#ondescriptorread)替代。 3214e41f4b71Sopenharmony_ci 3215e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3216e41f4b71Sopenharmony_ci 3217e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3218e41f4b71Sopenharmony_ci 3219e41f4b71Sopenharmony_ci**参数:** 3220e41f4b71Sopenharmony_ci 3221e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3222e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | --------------------------------- | 3223e41f4b71Sopenharmony_ci| type | string | 是 | 填写"descriptorRead"字符串,表示描述符读请求事件。 | 3224e41f4b71Sopenharmony_ci| callback | Callback<[DescriptorReadRequest](#descriptorreadrequestdeprecated)> | 是 | 表示回调函数的入参,client端发送的读请求数据。 | 3225e41f4b71Sopenharmony_ci 3226e41f4b71Sopenharmony_ci**错误码**: 3227e41f4b71Sopenharmony_ci 3228e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3229e41f4b71Sopenharmony_ci 3230e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3231e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3232e41f4b71Sopenharmony_ci|201 | Permission denied. | 3233e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3234e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3235e41f4b71Sopenharmony_ci 3236e41f4b71Sopenharmony_ci**示例:** 3237e41f4b71Sopenharmony_ci 3238e41f4b71Sopenharmony_ci```js 3239e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3240e41f4b71Sopenharmony_cilet arrayBufferDesc = new ArrayBuffer(8); 3241e41f4b71Sopenharmony_cilet descValue = new Uint8Array(arrayBufferDesc); 3242e41f4b71Sopenharmony_cidescValue[0] = 1101; 3243e41f4b71Sopenharmony_cifunction ReadDescriptorReq(descriptorReadRequest: bluetoothManager.DescriptorReadRequest) { 3244e41f4b71Sopenharmony_ci let deviceId: string = descriptorReadRequest.deviceId; 3245e41f4b71Sopenharmony_ci let transId: number = descriptorReadRequest.transId; 3246e41f4b71Sopenharmony_ci let offset: number = descriptorReadRequest.offset; 3247e41f4b71Sopenharmony_ci let descriptorUuid: string = descriptorReadRequest.descriptorUuid; 3248e41f4b71Sopenharmony_ci 3249e41f4b71Sopenharmony_ci let serverResponse: bluetoothManager.ServerResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferDesc}; 3250e41f4b71Sopenharmony_ci 3251e41f4b71Sopenharmony_ci try { 3252e41f4b71Sopenharmony_ci gattServer.sendResponse(serverResponse); 3253e41f4b71Sopenharmony_ci } catch (err) { 3254e41f4b71Sopenharmony_ci console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); 3255e41f4b71Sopenharmony_ci } 3256e41f4b71Sopenharmony_ci} 3257e41f4b71Sopenharmony_ci 3258e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 3259e41f4b71Sopenharmony_cigattServer.on("descriptorRead", ReadDescriptorReq); 3260e41f4b71Sopenharmony_ci``` 3261e41f4b71Sopenharmony_ci 3262e41f4b71Sopenharmony_ci 3263e41f4b71Sopenharmony_ci### off('descriptorRead')<sup>(deprecated)</sup> 3264e41f4b71Sopenharmony_ci 3265e41f4b71Sopenharmony_cioff(type: 'descriptorRead', callback?: Callback<DescriptorReadRequest>): void 3266e41f4b71Sopenharmony_ci 3267e41f4b71Sopenharmony_ciserver端取消订阅描述符读请求事件。 3268e41f4b71Sopenharmony_ci 3269e41f4b71Sopenharmony_ci> **说明:**<br/> 3270e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#off('descriptorRead')](js-apis-bluetooth-ble.md#offdescriptorread)替代。 3271e41f4b71Sopenharmony_ci 3272e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3273e41f4b71Sopenharmony_ci 3274e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3275e41f4b71Sopenharmony_ci 3276e41f4b71Sopenharmony_ci**参数:** 3277e41f4b71Sopenharmony_ci 3278e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3279e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3280e41f4b71Sopenharmony_ci| type | string | 是 | 填写"descriptorRead"字符串,表示描述符读请求事件。 | 3281e41f4b71Sopenharmony_ci| callback | Callback<[DescriptorReadRequest](#descriptorreadrequestdeprecated)> | 否 | 表示取消订阅描述符读请求事件上报。不填该参数则取消订阅该type对应的所有回调。 | 3282e41f4b71Sopenharmony_ci 3283e41f4b71Sopenharmony_ci**错误码**: 3284e41f4b71Sopenharmony_ci 3285e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3286e41f4b71Sopenharmony_ci 3287e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3288e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3289e41f4b71Sopenharmony_ci|201 | Permission denied. | 3290e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3291e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3292e41f4b71Sopenharmony_ci 3293e41f4b71Sopenharmony_ci**示例:** 3294e41f4b71Sopenharmony_ci 3295e41f4b71Sopenharmony_ci```js 3296e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3297e41f4b71Sopenharmony_citry { 3298e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 3299e41f4b71Sopenharmony_cigattServer.off("descriptorRead"); 3300e41f4b71Sopenharmony_ci} catch (err) { 3301e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3302e41f4b71Sopenharmony_ci} 3303e41f4b71Sopenharmony_ci``` 3304e41f4b71Sopenharmony_ci 3305e41f4b71Sopenharmony_ci 3306e41f4b71Sopenharmony_ci### on('descriptorWrite')<sup>(deprecated)</sup> 3307e41f4b71Sopenharmony_ci 3308e41f4b71Sopenharmony_cion(type: 'descriptorWrite', callback: Callback<DescriptorWriteRequest>): void 3309e41f4b71Sopenharmony_ci 3310e41f4b71Sopenharmony_ciserver端订阅描述符写请求事件。 3311e41f4b71Sopenharmony_ci 3312e41f4b71Sopenharmony_ci> **说明:**<br/> 3313e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#on('descriptorWrite')](js-apis-bluetooth-ble.md#ondescriptorwrite)替代。 3314e41f4b71Sopenharmony_ci 3315e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3316e41f4b71Sopenharmony_ci 3317e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3318e41f4b71Sopenharmony_ci 3319e41f4b71Sopenharmony_ci**参数:** 3320e41f4b71Sopenharmony_ci 3321e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3322e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------- | 3323e41f4b71Sopenharmony_ci| type | string | 是 | 填写"descriptorWrite"字符串,表示描述符写请求事件。 | 3324e41f4b71Sopenharmony_ci| callback | Callback<[DescriptorWriteRequest](#descriptorwriterequestdeprecated)> | 是 | 表示回调函数的入参,client端发送的写请求数据。 | 3325e41f4b71Sopenharmony_ci 3326e41f4b71Sopenharmony_ci**错误码**: 3327e41f4b71Sopenharmony_ci 3328e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3329e41f4b71Sopenharmony_ci 3330e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3331e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3332e41f4b71Sopenharmony_ci|201 | Permission denied. | 3333e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3334e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3335e41f4b71Sopenharmony_ci 3336e41f4b71Sopenharmony_ci**示例:** 3337e41f4b71Sopenharmony_ci 3338e41f4b71Sopenharmony_ci```js 3339e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3340e41f4b71Sopenharmony_cilet arrayBufferDesc = new ArrayBuffer(8); 3341e41f4b71Sopenharmony_cilet descValue = new Uint8Array(arrayBufferDesc); 3342e41f4b71Sopenharmony_cifunction WriteDescriptorReq(descriptorWriteRequest: bluetoothManager.DescriptorWriteRequest) { 3343e41f4b71Sopenharmony_ci let deviceId: string = descriptorWriteRequest.deviceId; 3344e41f4b71Sopenharmony_ci let transId: number = descriptorWriteRequest.transId; 3345e41f4b71Sopenharmony_ci let offset: number = descriptorWriteRequest.offset; 3346e41f4b71Sopenharmony_ci let isPrep: boolean = descriptorWriteRequest.isPrep; 3347e41f4b71Sopenharmony_ci let needRsp: boolean = descriptorWriteRequest.needRsp; 3348e41f4b71Sopenharmony_ci let value: Uint8Array = new Uint8Array(descriptorWriteRequest.value); 3349e41f4b71Sopenharmony_ci let descriptorUuid: string = descriptorWriteRequest.descriptorUuid; 3350e41f4b71Sopenharmony_ci 3351e41f4b71Sopenharmony_ci descValue[0] = value[0]; 3352e41f4b71Sopenharmony_ci let serverResponse: bluetoothManager.ServerResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferDesc}; 3353e41f4b71Sopenharmony_ci 3354e41f4b71Sopenharmony_ci try { 3355e41f4b71Sopenharmony_ci gattServer.sendResponse(serverResponse); 3356e41f4b71Sopenharmony_ci } catch (err) { 3357e41f4b71Sopenharmony_ci console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); 3358e41f4b71Sopenharmony_ci } 3359e41f4b71Sopenharmony_ci} 3360e41f4b71Sopenharmony_ci 3361e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 3362e41f4b71Sopenharmony_cigattServer.on("descriptorWrite", WriteDescriptorReq); 3363e41f4b71Sopenharmony_ci``` 3364e41f4b71Sopenharmony_ci 3365e41f4b71Sopenharmony_ci 3366e41f4b71Sopenharmony_ci### off('descriptorWrite')<sup>(deprecated)</sup> 3367e41f4b71Sopenharmony_ci 3368e41f4b71Sopenharmony_cioff(type: 'descriptorWrite', callback?: Callback<DescriptorWriteRequest>): void 3369e41f4b71Sopenharmony_ci 3370e41f4b71Sopenharmony_ciserver端取消订阅描述符写请求事件。 3371e41f4b71Sopenharmony_ci 3372e41f4b71Sopenharmony_ci> **说明:**<br/> 3373e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#off('descriptorWrite')](js-apis-bluetooth-ble.md#offdescriptorwrite)替代。 3374e41f4b71Sopenharmony_ci 3375e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3376e41f4b71Sopenharmony_ci 3377e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3378e41f4b71Sopenharmony_ci 3379e41f4b71Sopenharmony_ci**参数:** 3380e41f4b71Sopenharmony_ci 3381e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3382e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3383e41f4b71Sopenharmony_ci| type | string | 是 | 填写"descriptorWrite"字符串,表示描述符写请求事件。 | 3384e41f4b71Sopenharmony_ci| callback | Callback<[DescriptorWriteRequest](#descriptorwriterequestdeprecated)> | 否 | 表示取消订阅描述符写请求事件上报。不填该参数则取消订阅该type对应的所有回调。 | 3385e41f4b71Sopenharmony_ci 3386e41f4b71Sopenharmony_ci**错误码**: 3387e41f4b71Sopenharmony_ci 3388e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3389e41f4b71Sopenharmony_ci 3390e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3391e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3392e41f4b71Sopenharmony_ci|201 | Permission denied. | 3393e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3394e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3395e41f4b71Sopenharmony_ci 3396e41f4b71Sopenharmony_ci**示例:** 3397e41f4b71Sopenharmony_ci 3398e41f4b71Sopenharmony_ci```js 3399e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3400e41f4b71Sopenharmony_citry { 3401e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 3402e41f4b71Sopenharmony_cigattServer.off("descriptorWrite"); 3403e41f4b71Sopenharmony_ci} catch (err) { 3404e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3405e41f4b71Sopenharmony_ci} 3406e41f4b71Sopenharmony_ci``` 3407e41f4b71Sopenharmony_ci 3408e41f4b71Sopenharmony_ci 3409e41f4b71Sopenharmony_ci### on('connectStateChange')<sup>(deprecated)</sup> 3410e41f4b71Sopenharmony_ci 3411e41f4b71Sopenharmony_cion(type: 'connectStateChange', callback: Callback<BLEConnectChangedState>): void 3412e41f4b71Sopenharmony_ci 3413e41f4b71Sopenharmony_ciserver端订阅BLE连接状态变化事件。 3414e41f4b71Sopenharmony_ci 3415e41f4b71Sopenharmony_ci> **说明:**<br/> 3416e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#on('connectionStateChange')](js-apis-bluetooth-ble.md#onconnectionstatechange)替代。 3417e41f4b71Sopenharmony_ci 3418e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3419e41f4b71Sopenharmony_ci 3420e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3421e41f4b71Sopenharmony_ci 3422e41f4b71Sopenharmony_ci**参数:** 3423e41f4b71Sopenharmony_ci 3424e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3425e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3426e41f4b71Sopenharmony_ci| type | string | 是 | 填写"connectStateChange"字符串,表示BLE连接状态变化事件。 | 3427e41f4b71Sopenharmony_ci| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstatedeprecated)> | 是 | 表示回调函数的入参,连接状态。 | 3428e41f4b71Sopenharmony_ci 3429e41f4b71Sopenharmony_ci**错误码**: 3430e41f4b71Sopenharmony_ci 3431e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3432e41f4b71Sopenharmony_ci 3433e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3434e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3435e41f4b71Sopenharmony_ci|201 | Permission denied. | 3436e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3437e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3438e41f4b71Sopenharmony_ci 3439e41f4b71Sopenharmony_ci**示例:** 3440e41f4b71Sopenharmony_ci 3441e41f4b71Sopenharmony_ci```js 3442e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3443e41f4b71Sopenharmony_cifunction Connected(BLEConnectChangedState: bluetoothManager.BLEConnectChangedState) { 3444e41f4b71Sopenharmony_ci let deviceId: string = BLEConnectChangedState.deviceId; 3445e41f4b71Sopenharmony_ci let status: bluetoothManager.ProfileConnectionState = BLEConnectChangedState.state; 3446e41f4b71Sopenharmony_ci} 3447e41f4b71Sopenharmony_citry { 3448e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 3449e41f4b71Sopenharmony_cigattServer.on("connectStateChange", Connected); 3450e41f4b71Sopenharmony_ci} catch (err) { 3451e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3452e41f4b71Sopenharmony_ci} 3453e41f4b71Sopenharmony_ci``` 3454e41f4b71Sopenharmony_ci 3455e41f4b71Sopenharmony_ci 3456e41f4b71Sopenharmony_ci### off('connectStateChange')<sup>(deprecated)</sup> 3457e41f4b71Sopenharmony_ci 3458e41f4b71Sopenharmony_cioff(type: 'connectStateChange', callback?: Callback<BLEConnectChangedState>): void 3459e41f4b71Sopenharmony_ci 3460e41f4b71Sopenharmony_ciserver端取消订阅BLE连接状态变化事件。 3461e41f4b71Sopenharmony_ci 3462e41f4b71Sopenharmony_ci> **说明:**<br/> 3463e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattServer#off('connectionStateChange')](js-apis-bluetooth-ble.md#offconnectionstatechange)替代。 3464e41f4b71Sopenharmony_ci 3465e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3466e41f4b71Sopenharmony_ci 3467e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3468e41f4b71Sopenharmony_ci 3469e41f4b71Sopenharmony_ci**参数:** 3470e41f4b71Sopenharmony_ci 3471e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3472e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3473e41f4b71Sopenharmony_ci| type | string | 是 | 填写"connectStateChange"字符串,表示BLE连接状态变化事件。 | 3474e41f4b71Sopenharmony_ci| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstatedeprecated)> | 否 | 表示取消订阅BLE连接状态变化事件。不填该参数则取消订阅该type对应的所有回调。 | 3475e41f4b71Sopenharmony_ci 3476e41f4b71Sopenharmony_ci**错误码**: 3477e41f4b71Sopenharmony_ci 3478e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3479e41f4b71Sopenharmony_ci 3480e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3481e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3482e41f4b71Sopenharmony_ci|201 | Permission denied. | 3483e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3484e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3485e41f4b71Sopenharmony_ci 3486e41f4b71Sopenharmony_ci**示例:** 3487e41f4b71Sopenharmony_ci 3488e41f4b71Sopenharmony_ci```js 3489e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3490e41f4b71Sopenharmony_citry { 3491e41f4b71Sopenharmony_cilet gattServer = bluetoothManager.BLE.createGattServer(); 3492e41f4b71Sopenharmony_cigattServer.off("connectStateChange"); 3493e41f4b71Sopenharmony_ci} catch (err) { 3494e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3495e41f4b71Sopenharmony_ci} 3496e41f4b71Sopenharmony_ci``` 3497e41f4b71Sopenharmony_ci 3498e41f4b71Sopenharmony_ci 3499e41f4b71Sopenharmony_ci## GattClientDevice 3500e41f4b71Sopenharmony_ci 3501e41f4b71Sopenharmony_ciclient端类,使用client端方法之前需要创建该类的实例进行操作,通过createGattClientDevice(deviceId: string)方法构造此实例。 3502e41f4b71Sopenharmony_ci 3503e41f4b71Sopenharmony_ci> **说明:**<br/> 3504e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice](js-apis-bluetooth-ble.md#gattclientdevice)替代。 3505e41f4b71Sopenharmony_ci 3506e41f4b71Sopenharmony_ci 3507e41f4b71Sopenharmony_ci### connect<sup>(deprecated)</sup> 3508e41f4b71Sopenharmony_ci 3509e41f4b71Sopenharmony_ciconnect(): void 3510e41f4b71Sopenharmony_ci 3511e41f4b71Sopenharmony_ciclient端发起连接远端蓝牙低功耗设备。 3512e41f4b71Sopenharmony_ci 3513e41f4b71Sopenharmony_ci> **说明:**<br/> 3514e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#connect](js-apis-bluetooth-ble.md#connect)替代。 3515e41f4b71Sopenharmony_ci 3516e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3517e41f4b71Sopenharmony_ci 3518e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3519e41f4b71Sopenharmony_ci 3520e41f4b71Sopenharmony_ci**错误码**: 3521e41f4b71Sopenharmony_ci 3522e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3523e41f4b71Sopenharmony_ci 3524e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3525e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3526e41f4b71Sopenharmony_ci|201 | Permission denied. | 3527e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3528e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 3529e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 3530e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 3531e41f4b71Sopenharmony_ci 3532e41f4b71Sopenharmony_ci**示例:** 3533e41f4b71Sopenharmony_ci 3534e41f4b71Sopenharmony_ci```js 3535e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3536e41f4b71Sopenharmony_citry { 3537e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 3538e41f4b71Sopenharmony_ci device.connect(); 3539e41f4b71Sopenharmony_ci} catch (err) { 3540e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3541e41f4b71Sopenharmony_ci} 3542e41f4b71Sopenharmony_ci``` 3543e41f4b71Sopenharmony_ci 3544e41f4b71Sopenharmony_ci 3545e41f4b71Sopenharmony_ci### disconnect<sup>(deprecated)</sup> 3546e41f4b71Sopenharmony_ci 3547e41f4b71Sopenharmony_cidisconnect(): void 3548e41f4b71Sopenharmony_ci 3549e41f4b71Sopenharmony_ciclient端断开与远端蓝牙低功耗设备的连接。 3550e41f4b71Sopenharmony_ci 3551e41f4b71Sopenharmony_ci> **说明:**<br/> 3552e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#disconnect](js-apis-bluetooth-ble.md#disconnect)替代。 3553e41f4b71Sopenharmony_ci 3554e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3555e41f4b71Sopenharmony_ci 3556e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3557e41f4b71Sopenharmony_ci 3558e41f4b71Sopenharmony_ci**错误码**: 3559e41f4b71Sopenharmony_ci 3560e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3561e41f4b71Sopenharmony_ci 3562e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3563e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3564e41f4b71Sopenharmony_ci|201 | Permission denied. | 3565e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3566e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 3567e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 3568e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 3569e41f4b71Sopenharmony_ci 3570e41f4b71Sopenharmony_ci**示例:** 3571e41f4b71Sopenharmony_ci 3572e41f4b71Sopenharmony_ci```js 3573e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3574e41f4b71Sopenharmony_citry { 3575e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 3576e41f4b71Sopenharmony_ci device.disconnect(); 3577e41f4b71Sopenharmony_ci} catch (err) { 3578e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3579e41f4b71Sopenharmony_ci} 3580e41f4b71Sopenharmony_ci``` 3581e41f4b71Sopenharmony_ci 3582e41f4b71Sopenharmony_ci 3583e41f4b71Sopenharmony_ci### close<sup>(deprecated)</sup> 3584e41f4b71Sopenharmony_ci 3585e41f4b71Sopenharmony_ciclose(): void 3586e41f4b71Sopenharmony_ci 3587e41f4b71Sopenharmony_ci关闭客户端功能,注销client在协议栈的注册,调用该接口后[GattClientDevice](#gattclientdevice)实例将不能再使用。 3588e41f4b71Sopenharmony_ci 3589e41f4b71Sopenharmony_ci> **说明:**<br/> 3590e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#close](js-apis-bluetooth-ble.md#close)替代。 3591e41f4b71Sopenharmony_ci 3592e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3593e41f4b71Sopenharmony_ci 3594e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3595e41f4b71Sopenharmony_ci 3596e41f4b71Sopenharmony_ci**错误码**: 3597e41f4b71Sopenharmony_ci 3598e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3599e41f4b71Sopenharmony_ci 3600e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3601e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3602e41f4b71Sopenharmony_ci|201 | Permission denied. | 3603e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3604e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 3605e41f4b71Sopenharmony_ci|2900003 | Bluetooth disabled. | 3606e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 3607e41f4b71Sopenharmony_ci 3608e41f4b71Sopenharmony_ci**示例:** 3609e41f4b71Sopenharmony_ci 3610e41f4b71Sopenharmony_ci```js 3611e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3612e41f4b71Sopenharmony_citry { 3613e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 3614e41f4b71Sopenharmony_ci device.close(); 3615e41f4b71Sopenharmony_ci} catch (err) { 3616e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3617e41f4b71Sopenharmony_ci} 3618e41f4b71Sopenharmony_ci``` 3619e41f4b71Sopenharmony_ci 3620e41f4b71Sopenharmony_ci 3621e41f4b71Sopenharmony_ci 3622e41f4b71Sopenharmony_ci 3623e41f4b71Sopenharmony_ci### getServices<sup>(deprecated)</sup> 3624e41f4b71Sopenharmony_ci 3625e41f4b71Sopenharmony_cigetServices(callback: AsyncCallback<Array<GattService>>): void 3626e41f4b71Sopenharmony_ci 3627e41f4b71Sopenharmony_ciclient端获取蓝牙低功耗设备的所有服务,即服务发现。 3628e41f4b71Sopenharmony_ci 3629e41f4b71Sopenharmony_ci> **说明:**<br/> 3630e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#getServices](js-apis-bluetooth-ble.md#getservices)替代。 3631e41f4b71Sopenharmony_ci 3632e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3633e41f4b71Sopenharmony_ci 3634e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3635e41f4b71Sopenharmony_ci 3636e41f4b71Sopenharmony_ci**参数:** 3637e41f4b71Sopenharmony_ci 3638e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3639e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ------------------------ | 3640e41f4b71Sopenharmony_ci| callback | AsyncCallback<Array<[GattService](#gattservicedeprecated)>> | 是 | client进行服务发现,通过注册回调函数获取。 | 3641e41f4b71Sopenharmony_ci 3642e41f4b71Sopenharmony_ci**错误码**: 3643e41f4b71Sopenharmony_ci 3644e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3645e41f4b71Sopenharmony_ci 3646e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3647e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3648e41f4b71Sopenharmony_ci|201 | Permission denied. | 3649e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 3650e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3651e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 3652e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 3653e41f4b71Sopenharmony_ci 3654e41f4b71Sopenharmony_ci**示例:** 3655e41f4b71Sopenharmony_ci 3656e41f4b71Sopenharmony_ci```js 3657e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3658e41f4b71Sopenharmony_ci// callback 模式 3659e41f4b71Sopenharmony_cifunction getServices(code: BusinessError, gattServices: Array<bluetoothManager.GattService>) { 3660e41f4b71Sopenharmony_ci if (code.code == 0) { 3661e41f4b71Sopenharmony_ci let services: Array<bluetoothManager.GattService> = gattServices; 3662e41f4b71Sopenharmony_ci console.log('bluetooth code is ' + code.code); 3663e41f4b71Sopenharmony_ci console.log("bluetooth services size is ", services.length); 3664e41f4b71Sopenharmony_ci 3665e41f4b71Sopenharmony_ci for (let i = 0; i < services.length; i++) { 3666e41f4b71Sopenharmony_ci console.log('bluetooth serviceUuid is ' + services[i].serviceUuid); 3667e41f4b71Sopenharmony_ci } 3668e41f4b71Sopenharmony_ci } 3669e41f4b71Sopenharmony_ci} 3670e41f4b71Sopenharmony_ci 3671e41f4b71Sopenharmony_citry { 3672e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 3673e41f4b71Sopenharmony_ci device.connect(); 3674e41f4b71Sopenharmony_ci device.getServices(getServices); 3675e41f4b71Sopenharmony_ci} catch (err) { 3676e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3677e41f4b71Sopenharmony_ci} 3678e41f4b71Sopenharmony_ci``` 3679e41f4b71Sopenharmony_ci 3680e41f4b71Sopenharmony_ci 3681e41f4b71Sopenharmony_ci### getServices<sup>(deprecated)</sup> 3682e41f4b71Sopenharmony_ci 3683e41f4b71Sopenharmony_cigetServices(): Promise<Array<GattService>> 3684e41f4b71Sopenharmony_ci 3685e41f4b71Sopenharmony_ciclient端获取蓝牙低功耗设备的所有服务,即服务发现。 3686e41f4b71Sopenharmony_ci 3687e41f4b71Sopenharmony_ci> **说明:**<br/> 3688e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#getServices](js-apis-bluetooth-ble.md#getservices-1)替代。 3689e41f4b71Sopenharmony_ci 3690e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3691e41f4b71Sopenharmony_ci 3692e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3693e41f4b71Sopenharmony_ci 3694e41f4b71Sopenharmony_ci**返回值:** 3695e41f4b71Sopenharmony_ci 3696e41f4b71Sopenharmony_ci| 类型 | 说明 | 3697e41f4b71Sopenharmony_ci| ---------------------------------------- | --------------------------- | 3698e41f4b71Sopenharmony_ci| Promise<Array<[GattService](#gattservicedeprecated)>> | client进行服务发现,通过promise形式获取。 | 3699e41f4b71Sopenharmony_ci 3700e41f4b71Sopenharmony_ci**错误码**: 3701e41f4b71Sopenharmony_ci 3702e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3703e41f4b71Sopenharmony_ci 3704e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3705e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3706e41f4b71Sopenharmony_ci|201 | Permission denied. | 3707e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3708e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3709e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 3710e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 3711e41f4b71Sopenharmony_ci 3712e41f4b71Sopenharmony_ci**示例:** 3713e41f4b71Sopenharmony_ci 3714e41f4b71Sopenharmony_ci```js 3715e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3716e41f4b71Sopenharmony_ci// Promise 模式 3717e41f4b71Sopenharmony_citry { 3718e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 3719e41f4b71Sopenharmony_ci device.connect(); 3720e41f4b71Sopenharmony_ci device.getServices().then(result => { 3721e41f4b71Sopenharmony_ci console.info("getServices successfully:" + JSON.stringify(result)); 3722e41f4b71Sopenharmony_ci }); 3723e41f4b71Sopenharmony_ci} catch (err) { 3724e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3725e41f4b71Sopenharmony_ci} 3726e41f4b71Sopenharmony_ci``` 3727e41f4b71Sopenharmony_ci 3728e41f4b71Sopenharmony_ci 3729e41f4b71Sopenharmony_ci### readCharacteristicValue<sup>(deprecated)</sup> 3730e41f4b71Sopenharmony_ci 3731e41f4b71Sopenharmony_cireadCharacteristicValue(characteristic: BLECharacteristic, callback: AsyncCallback<BLECharacteristic>): void 3732e41f4b71Sopenharmony_ci 3733e41f4b71Sopenharmony_ciclient端读取蓝牙低功耗设备特定服务的特征值。 3734e41f4b71Sopenharmony_ci 3735e41f4b71Sopenharmony_ci> **说明:**<br/> 3736e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#readCharacteristicValue](js-apis-bluetooth-ble.md#readcharacteristicvalue)替代。 3737e41f4b71Sopenharmony_ci 3738e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3739e41f4b71Sopenharmony_ci 3740e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3741e41f4b71Sopenharmony_ci 3742e41f4b71Sopenharmony_ci**参数:** 3743e41f4b71Sopenharmony_ci 3744e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3745e41f4b71Sopenharmony_ci| -------------- | ---------------------------------------- | ---- | ----------------------- | 3746e41f4b71Sopenharmony_ci| characteristic | [BLECharacteristic](#blecharacteristicdeprecated) | 是 | 待读取的特征值。 | 3747e41f4b71Sopenharmony_ci| callback | AsyncCallback<[BLECharacteristic](#blecharacteristicdeprecated)> | 是 | client读取特征值,通过注册回调函数获取。 | 3748e41f4b71Sopenharmony_ci 3749e41f4b71Sopenharmony_ci**错误码**: 3750e41f4b71Sopenharmony_ci 3751e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3752e41f4b71Sopenharmony_ci 3753e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3754e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3755e41f4b71Sopenharmony_ci|201 | Permission denied. | 3756e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3757e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3758e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 3759e41f4b71Sopenharmony_ci|2901000 | Read forbidden. | 3760e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 3761e41f4b71Sopenharmony_ci 3762e41f4b71Sopenharmony_ci**示例:** 3763e41f4b71Sopenharmony_ci 3764e41f4b71Sopenharmony_ci```js 3765e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3766e41f4b71Sopenharmony_cifunction readCcc(code: BusinessError, BLECharacteristic: bluetoothManager.BLECharacteristic) { 3767e41f4b71Sopenharmony_ci if (code.code != 0) { 3768e41f4b71Sopenharmony_ci return; 3769e41f4b71Sopenharmony_ci } 3770e41f4b71Sopenharmony_ci console.log('bluetooth characteristic uuid: ' + BLECharacteristic.characteristicUuid); 3771e41f4b71Sopenharmony_ci let value = new Uint8Array(BLECharacteristic.characteristicValue); 3772e41f4b71Sopenharmony_ci console.log('bluetooth characteristic value: ' + value[0] +','+ value[1]+','+ value[2]+','+ value[3]); 3773e41f4b71Sopenharmony_ci} 3774e41f4b71Sopenharmony_ci 3775e41f4b71Sopenharmony_cilet descriptors: Array<bluetoothManager.BLEDescriptor> = []; 3776e41f4b71Sopenharmony_cilet bufferDesc = new ArrayBuffer(8); 3777e41f4b71Sopenharmony_cilet descV = new Uint8Array(bufferDesc); 3778e41f4b71Sopenharmony_cidescV[0] = 11; 3779e41f4b71Sopenharmony_cilet descriptor: bluetoothManager.BLEDescriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 3780e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 3781e41f4b71Sopenharmony_ci descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc}; 3782e41f4b71Sopenharmony_cidescriptors[0] = descriptor; 3783e41f4b71Sopenharmony_ci 3784e41f4b71Sopenharmony_cilet bufferCCC = new ArrayBuffer(8); 3785e41f4b71Sopenharmony_cilet cccV = new Uint8Array(bufferCCC); 3786e41f4b71Sopenharmony_cicccV[0] = 1; 3787e41f4b71Sopenharmony_cilet characteristic: bluetoothManager.BLECharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 3788e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 3789e41f4b71Sopenharmony_ci characteristicValue: bufferCCC, descriptors:descriptors}; 3790e41f4b71Sopenharmony_ci 3791e41f4b71Sopenharmony_citry { 3792e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 3793e41f4b71Sopenharmony_ci device.readCharacteristicValue(characteristic, readCcc); 3794e41f4b71Sopenharmony_ci} catch (err) { 3795e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3796e41f4b71Sopenharmony_ci} 3797e41f4b71Sopenharmony_ci``` 3798e41f4b71Sopenharmony_ci 3799e41f4b71Sopenharmony_ci 3800e41f4b71Sopenharmony_ci### readCharacteristicValue<sup>(deprecated)</sup> 3801e41f4b71Sopenharmony_ci 3802e41f4b71Sopenharmony_cireadCharacteristicValue(characteristic: BLECharacteristic): Promise<BLECharacteristic> 3803e41f4b71Sopenharmony_ci 3804e41f4b71Sopenharmony_ciclient端读取蓝牙低功耗设备特定服务的特征值。 3805e41f4b71Sopenharmony_ci 3806e41f4b71Sopenharmony_ci> **说明:**<br/> 3807e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#readCharacteristicValue](js-apis-bluetooth-ble.md#readcharacteristicvalue-1)替代。 3808e41f4b71Sopenharmony_ci 3809e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3810e41f4b71Sopenharmony_ci 3811e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3812e41f4b71Sopenharmony_ci 3813e41f4b71Sopenharmony_ci**参数:** 3814e41f4b71Sopenharmony_ci 3815e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3816e41f4b71Sopenharmony_ci| -------------- | --------------------------------------- | ---- | -------- | 3817e41f4b71Sopenharmony_ci| characteristic | [BLECharacteristic](#blecharacteristicdeprecated) | 是 | 待读取的特征值。 | 3818e41f4b71Sopenharmony_ci 3819e41f4b71Sopenharmony_ci**返回值:** 3820e41f4b71Sopenharmony_ci 3821e41f4b71Sopenharmony_ci| 类型 | 说明 | 3822e41f4b71Sopenharmony_ci| ---------------------------------------- | -------------------------- | 3823e41f4b71Sopenharmony_ci| Promise<[BLECharacteristic](#blecharacteristicdeprecated)> | client读取特征值,通过promise形式获取。 | 3824e41f4b71Sopenharmony_ci 3825e41f4b71Sopenharmony_ci**错误码**: 3826e41f4b71Sopenharmony_ci 3827e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3828e41f4b71Sopenharmony_ci 3829e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3830e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3831e41f4b71Sopenharmony_ci|201 | Permission denied. | 3832e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3833e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3834e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 3835e41f4b71Sopenharmony_ci|2901000 | Read forbidden. | 3836e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 3837e41f4b71Sopenharmony_ci 3838e41f4b71Sopenharmony_ci**示例:** 3839e41f4b71Sopenharmony_ci 3840e41f4b71Sopenharmony_ci```js 3841e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3842e41f4b71Sopenharmony_cilet descriptors: Array<bluetoothManager.BLEDescriptor> = []; 3843e41f4b71Sopenharmony_cilet bufferDesc = new ArrayBuffer(8); 3844e41f4b71Sopenharmony_cilet descV = new Uint8Array(bufferDesc); 3845e41f4b71Sopenharmony_cidescV[0] = 11; 3846e41f4b71Sopenharmony_cilet descriptor: bluetoothManager.BLEDescriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 3847e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 3848e41f4b71Sopenharmony_ci descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc}; 3849e41f4b71Sopenharmony_cidescriptors[0] = descriptor; 3850e41f4b71Sopenharmony_ci 3851e41f4b71Sopenharmony_cilet bufferCCC = new ArrayBuffer(8); 3852e41f4b71Sopenharmony_cilet cccV = new Uint8Array(bufferCCC); 3853e41f4b71Sopenharmony_cicccV[0] = 1; 3854e41f4b71Sopenharmony_cilet characteristic: bluetoothManager.BLECharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 3855e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 3856e41f4b71Sopenharmony_ci characteristicValue: bufferCCC, descriptors:descriptors}; 3857e41f4b71Sopenharmony_ci 3858e41f4b71Sopenharmony_citry { 3859e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 3860e41f4b71Sopenharmony_ci device.readCharacteristicValue(characteristic); 3861e41f4b71Sopenharmony_ci} catch (err) { 3862e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3863e41f4b71Sopenharmony_ci} 3864e41f4b71Sopenharmony_ci``` 3865e41f4b71Sopenharmony_ci 3866e41f4b71Sopenharmony_ci 3867e41f4b71Sopenharmony_ci### readDescriptorValue<sup>(deprecated)</sup> 3868e41f4b71Sopenharmony_ci 3869e41f4b71Sopenharmony_cireadDescriptorValue(descriptor: BLEDescriptor, callback: AsyncCallback<BLEDescriptor>): void 3870e41f4b71Sopenharmony_ci 3871e41f4b71Sopenharmony_ciclient端读取蓝牙低功耗设备特定的特征包含的描述符。 3872e41f4b71Sopenharmony_ci 3873e41f4b71Sopenharmony_ci> **说明:**<br/> 3874e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#readDescriptorValue](js-apis-bluetooth-ble.md#readdescriptorvalue)替代。 3875e41f4b71Sopenharmony_ci 3876e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3877e41f4b71Sopenharmony_ci 3878e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3879e41f4b71Sopenharmony_ci 3880e41f4b71Sopenharmony_ci**参数:** 3881e41f4b71Sopenharmony_ci 3882e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3883e41f4b71Sopenharmony_ci| ---------- | ---------------------------------------- | ---- | ----------------------- | 3884e41f4b71Sopenharmony_ci| descriptor | [BLEDescriptor](#bledescriptordeprecated) | 是 | 待读取的描述符。 | 3885e41f4b71Sopenharmony_ci| callback | AsyncCallback<[BLEDescriptor](#bledescriptordeprecated)> | 是 | client读取描述符,通过注册回调函数获取。 | 3886e41f4b71Sopenharmony_ci 3887e41f4b71Sopenharmony_ci**错误码**: 3888e41f4b71Sopenharmony_ci 3889e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3890e41f4b71Sopenharmony_ci 3891e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3892e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3893e41f4b71Sopenharmony_ci|201 | Permission denied. | 3894e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3895e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3896e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 3897e41f4b71Sopenharmony_ci|2901000 | Read forbidden. | 3898e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 3899e41f4b71Sopenharmony_ci 3900e41f4b71Sopenharmony_ci**示例:** 3901e41f4b71Sopenharmony_ci 3902e41f4b71Sopenharmony_ci```js 3903e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3904e41f4b71Sopenharmony_cifunction readDesc(code: BusinessError, BLEDescriptor: bluetoothManager.BLEDescriptor) { 3905e41f4b71Sopenharmony_ci if (code.code != 0) { 3906e41f4b71Sopenharmony_ci return; 3907e41f4b71Sopenharmony_ci } 3908e41f4b71Sopenharmony_ci console.log('bluetooth descriptor uuid: ' + BLEDescriptor.descriptorUuid); 3909e41f4b71Sopenharmony_ci let value = new Uint8Array(BLEDescriptor.descriptorValue); 3910e41f4b71Sopenharmony_ci console.log('bluetooth descriptor value: ' + value[0] +','+ value[1]+','+ value[2]+','+ value[3]); 3911e41f4b71Sopenharmony_ci} 3912e41f4b71Sopenharmony_ci 3913e41f4b71Sopenharmony_cilet bufferDesc = new ArrayBuffer(8); 3914e41f4b71Sopenharmony_cilet descV = new Uint8Array(bufferDesc); 3915e41f4b71Sopenharmony_cidescV[0] = 11; 3916e41f4b71Sopenharmony_cilet descriptor: bluetoothManager.BLEDescriptor = { 3917e41f4b71Sopenharmony_ci serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 3918e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 3919e41f4b71Sopenharmony_ci descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', 3920e41f4b71Sopenharmony_ci descriptorValue: bufferDesc 3921e41f4b71Sopenharmony_ci}; 3922e41f4b71Sopenharmony_citry { 3923e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 3924e41f4b71Sopenharmony_ci device.readDescriptorValue(descriptor, readDesc); 3925e41f4b71Sopenharmony_ci} catch (err) { 3926e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3927e41f4b71Sopenharmony_ci} 3928e41f4b71Sopenharmony_ci``` 3929e41f4b71Sopenharmony_ci 3930e41f4b71Sopenharmony_ci 3931e41f4b71Sopenharmony_ci### readDescriptorValue<sup>(deprecated)</sup> 3932e41f4b71Sopenharmony_ci 3933e41f4b71Sopenharmony_cireadDescriptorValue(descriptor: BLEDescriptor): Promise<BLEDescriptor> 3934e41f4b71Sopenharmony_ci 3935e41f4b71Sopenharmony_ciclient端读取蓝牙低功耗设备特定的特征包含的描述符。 3936e41f4b71Sopenharmony_ci 3937e41f4b71Sopenharmony_ci> **说明:**<br/> 3938e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#readDescriptorValue](js-apis-bluetooth-ble.md#readdescriptorvalue-1)替代。 3939e41f4b71Sopenharmony_ci 3940e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 3941e41f4b71Sopenharmony_ci 3942e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 3943e41f4b71Sopenharmony_ci 3944e41f4b71Sopenharmony_ci**参数:** 3945e41f4b71Sopenharmony_ci 3946e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 3947e41f4b71Sopenharmony_ci| ---------- | ------------------------------- | ---- | -------- | 3948e41f4b71Sopenharmony_ci| descriptor | [BLEDescriptor](#bledescriptordeprecated) | 是 | 待读取的描述符。 | 3949e41f4b71Sopenharmony_ci 3950e41f4b71Sopenharmony_ci**返回值:** 3951e41f4b71Sopenharmony_ci 3952e41f4b71Sopenharmony_ci| 类型 | 说明 | 3953e41f4b71Sopenharmony_ci| ---------------------------------------- | -------------------------- | 3954e41f4b71Sopenharmony_ci| Promise<[BLEDescriptor](#bledescriptordeprecated)> | client读取描述符,通过promise形式获取。 | 3955e41f4b71Sopenharmony_ci 3956e41f4b71Sopenharmony_ci**错误码**: 3957e41f4b71Sopenharmony_ci 3958e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 3959e41f4b71Sopenharmony_ci 3960e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 3961e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 3962e41f4b71Sopenharmony_ci|201 | Permission denied. | 3963e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 3964e41f4b71Sopenharmony_ci|801 | Capability not supported. | 3965e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 3966e41f4b71Sopenharmony_ci|2901000 | Read forbidden. | 3967e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 3968e41f4b71Sopenharmony_ci 3969e41f4b71Sopenharmony_ci**示例:** 3970e41f4b71Sopenharmony_ci 3971e41f4b71Sopenharmony_ci```js 3972e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3973e41f4b71Sopenharmony_cilet bufferDesc = new ArrayBuffer(8); 3974e41f4b71Sopenharmony_cilet descV = new Uint8Array(bufferDesc); 3975e41f4b71Sopenharmony_cidescV[0] = 11; 3976e41f4b71Sopenharmony_cilet descriptor: bluetoothManager.BLEDescriptor = { 3977e41f4b71Sopenharmony_ci serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 3978e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 3979e41f4b71Sopenharmony_ci descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', 3980e41f4b71Sopenharmony_ci descriptorValue: bufferDesc 3981e41f4b71Sopenharmony_ci}; 3982e41f4b71Sopenharmony_citry { 3983e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 3984e41f4b71Sopenharmony_ci device.readDescriptorValue(descriptor); 3985e41f4b71Sopenharmony_ci} catch (err) { 3986e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 3987e41f4b71Sopenharmony_ci} 3988e41f4b71Sopenharmony_ci``` 3989e41f4b71Sopenharmony_ci 3990e41f4b71Sopenharmony_ci 3991e41f4b71Sopenharmony_ci### writeCharacteristicValue<sup>(deprecated)</sup> 3992e41f4b71Sopenharmony_ci 3993e41f4b71Sopenharmony_ciwriteCharacteristicValue(characteristic: BLECharacteristic): void 3994e41f4b71Sopenharmony_ci 3995e41f4b71Sopenharmony_ciclient端向低功耗蓝牙设备写入特定的特征值。 3996e41f4b71Sopenharmony_ci 3997e41f4b71Sopenharmony_ci> **说明:**<br/> 3998e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#writeCharacteristicValue](js-apis-bluetooth-ble.md#writecharacteristicvalue)替代。 3999e41f4b71Sopenharmony_ci 4000e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4001e41f4b71Sopenharmony_ci 4002e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4003e41f4b71Sopenharmony_ci 4004e41f4b71Sopenharmony_ci**参数:** 4005e41f4b71Sopenharmony_ci 4006e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4007e41f4b71Sopenharmony_ci| -------------- | --------------------------------------- | ---- | ------------------- | 4008e41f4b71Sopenharmony_ci| characteristic | [BLECharacteristic](#blecharacteristicdeprecated) | 是 | 蓝牙设备特征对应的二进制值及其它参数。 | 4009e41f4b71Sopenharmony_ci 4010e41f4b71Sopenharmony_ci**错误码**: 4011e41f4b71Sopenharmony_ci 4012e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4013e41f4b71Sopenharmony_ci 4014e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4015e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4016e41f4b71Sopenharmony_ci|201 | Permission denied. | 4017e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 4018e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4019e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 4020e41f4b71Sopenharmony_ci|2901001 | Write forbidden. | 4021e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 4022e41f4b71Sopenharmony_ci 4023e41f4b71Sopenharmony_ci**示例:** 4024e41f4b71Sopenharmony_ci 4025e41f4b71Sopenharmony_ci```js 4026e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4027e41f4b71Sopenharmony_cilet descriptors: Array<bluetoothManager.BLEDescriptor> = []; 4028e41f4b71Sopenharmony_cilet bufferDesc = new ArrayBuffer(8); 4029e41f4b71Sopenharmony_cilet descV = new Uint8Array(bufferDesc); 4030e41f4b71Sopenharmony_cidescV[0] = 11; 4031e41f4b71Sopenharmony_cilet descriptor: bluetoothManager.BLEDescriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 4032e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 4033e41f4b71Sopenharmony_ci descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc}; 4034e41f4b71Sopenharmony_cidescriptors[0] = descriptor; 4035e41f4b71Sopenharmony_ci 4036e41f4b71Sopenharmony_cilet bufferCCC = new ArrayBuffer(8); 4037e41f4b71Sopenharmony_cilet cccV = new Uint8Array(bufferCCC); 4038e41f4b71Sopenharmony_cicccV[0] = 1; 4039e41f4b71Sopenharmony_cilet characteristic: bluetoothManager.BLECharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 4040e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 4041e41f4b71Sopenharmony_ci characteristicValue: bufferCCC, descriptors:descriptors}; 4042e41f4b71Sopenharmony_citry { 4043e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 4044e41f4b71Sopenharmony_ci device.writeCharacteristicValue(characteristic); 4045e41f4b71Sopenharmony_ci} catch (err) { 4046e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4047e41f4b71Sopenharmony_ci} 4048e41f4b71Sopenharmony_ci``` 4049e41f4b71Sopenharmony_ci 4050e41f4b71Sopenharmony_ci 4051e41f4b71Sopenharmony_ci### writeDescriptorValue<sup>(deprecated)</sup> 4052e41f4b71Sopenharmony_ci 4053e41f4b71Sopenharmony_ciwriteDescriptorValue(descriptor: BLEDescriptor): void 4054e41f4b71Sopenharmony_ci 4055e41f4b71Sopenharmony_ciclient端向低功耗蓝牙设备特定的描述符写入二进制数据。 4056e41f4b71Sopenharmony_ci 4057e41f4b71Sopenharmony_ci> **说明:**<br/> 4058e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#writeCharacteristicValue](js-apis-bluetooth-ble.md#writecharacteristicvalue-1)替代。 4059e41f4b71Sopenharmony_ci 4060e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4061e41f4b71Sopenharmony_ci 4062e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4063e41f4b71Sopenharmony_ci 4064e41f4b71Sopenharmony_ci**参数:** 4065e41f4b71Sopenharmony_ci 4066e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4067e41f4b71Sopenharmony_ci| ---------- | ------------------------------- | ---- | ------------------ | 4068e41f4b71Sopenharmony_ci| descriptor | [BLEDescriptor](#bledescriptordeprecated) | 是 | 蓝牙设备描述符的二进制值及其它参数。 | 4069e41f4b71Sopenharmony_ci 4070e41f4b71Sopenharmony_ci**错误码**: 4071e41f4b71Sopenharmony_ci 4072e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4073e41f4b71Sopenharmony_ci 4074e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4075e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4076e41f4b71Sopenharmony_ci|201 | Permission denied. | 4077e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 4078e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4079e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 4080e41f4b71Sopenharmony_ci|2901001 | Write forbidden. | 4081e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 4082e41f4b71Sopenharmony_ci 4083e41f4b71Sopenharmony_ci**示例:** 4084e41f4b71Sopenharmony_ci 4085e41f4b71Sopenharmony_ci```js 4086e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4087e41f4b71Sopenharmony_cilet bufferDesc = new ArrayBuffer(8); 4088e41f4b71Sopenharmony_cilet descV = new Uint8Array(bufferDesc); 4089e41f4b71Sopenharmony_cidescV[0] = 22; 4090e41f4b71Sopenharmony_cilet descriptor: bluetoothManager.BLEDescriptor = { 4091e41f4b71Sopenharmony_ci serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 4092e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 4093e41f4b71Sopenharmony_ci descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', 4094e41f4b71Sopenharmony_ci descriptorValue: bufferDesc 4095e41f4b71Sopenharmony_ci}; 4096e41f4b71Sopenharmony_citry { 4097e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 4098e41f4b71Sopenharmony_ci device.writeDescriptorValue(descriptor); 4099e41f4b71Sopenharmony_ci} catch (err) { 4100e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4101e41f4b71Sopenharmony_ci} 4102e41f4b71Sopenharmony_ci``` 4103e41f4b71Sopenharmony_ci 4104e41f4b71Sopenharmony_ci 4105e41f4b71Sopenharmony_ci### setBLEMtuSize<sup>(deprecated)</sup> 4106e41f4b71Sopenharmony_ci 4107e41f4b71Sopenharmony_cisetBLEMtuSize(mtu: number): void 4108e41f4b71Sopenharmony_ci 4109e41f4b71Sopenharmony_ciclient协商远端蓝牙低功耗设备的最大传输单元(Maximum Transmission Unit, MTU),调用[connect](#connect)接口连接成功后才能使用。 4110e41f4b71Sopenharmony_ci 4111e41f4b71Sopenharmony_ci> **说明:**<br/> 4112e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#setBLEMtuSize](js-apis-bluetooth-ble.md#setBLEMtuSize)替代。 4113e41f4b71Sopenharmony_ci 4114e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4115e41f4b71Sopenharmony_ci 4116e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4117e41f4b71Sopenharmony_ci 4118e41f4b71Sopenharmony_ci**参数:** 4119e41f4b71Sopenharmony_ci 4120e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4121e41f4b71Sopenharmony_ci| ---- | ------ | ---- | -------------- | 4122e41f4b71Sopenharmony_ci| mtu | number | 是 | 设置范围为22~512字节。 | 4123e41f4b71Sopenharmony_ci 4124e41f4b71Sopenharmony_ci**错误码**: 4125e41f4b71Sopenharmony_ci 4126e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4127e41f4b71Sopenharmony_ci 4128e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4129e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4130e41f4b71Sopenharmony_ci|201 | Permission denied. | 4131e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4132e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4133e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 4134e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 4135e41f4b71Sopenharmony_ci 4136e41f4b71Sopenharmony_ci**示例:** 4137e41f4b71Sopenharmony_ci 4138e41f4b71Sopenharmony_ci```js 4139e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4140e41f4b71Sopenharmony_citry { 4141e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 4142e41f4b71Sopenharmony_ci device.setBLEMtuSize(128); 4143e41f4b71Sopenharmony_ci} catch (err) { 4144e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4145e41f4b71Sopenharmony_ci} 4146e41f4b71Sopenharmony_ci``` 4147e41f4b71Sopenharmony_ci 4148e41f4b71Sopenharmony_ci 4149e41f4b71Sopenharmony_ci### setNotifyCharacteristicChanged<sup>(deprecated)</sup> 4150e41f4b71Sopenharmony_ci 4151e41f4b71Sopenharmony_cisetNotifyCharacteristicChanged(characteristic: BLECharacteristic, enable: boolean): void 4152e41f4b71Sopenharmony_ci 4153e41f4b71Sopenharmony_ci向服务端发送设置通知此特征值请求。 4154e41f4b71Sopenharmony_ci 4155e41f4b71Sopenharmony_ci> **说明:**<br/> 4156e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#setCharacteristicChangeNotification](js-apis-bluetooth-ble.md#setcharacteristicchangenotification)替代。 4157e41f4b71Sopenharmony_ci 4158e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4159e41f4b71Sopenharmony_ci 4160e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4161e41f4b71Sopenharmony_ci 4162e41f4b71Sopenharmony_ci**参数:** 4163e41f4b71Sopenharmony_ci 4164e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4165e41f4b71Sopenharmony_ci| -------------- | --------------------------------------- | ---- | ----------------------------- | 4166e41f4b71Sopenharmony_ci| characteristic | [BLECharacteristic](#blecharacteristicdeprecated) | 是 | 蓝牙低功耗特征。 | 4167e41f4b71Sopenharmony_ci| enable | boolean | 是 | 启用接收notify设置为true,否则设置为false。 | 4168e41f4b71Sopenharmony_ci 4169e41f4b71Sopenharmony_ci**错误码**: 4170e41f4b71Sopenharmony_ci 4171e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4172e41f4b71Sopenharmony_ci 4173e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4174e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4175e41f4b71Sopenharmony_ci|201 | Permission denied. | 4176e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 4177e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4178e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 4179e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 4180e41f4b71Sopenharmony_ci 4181e41f4b71Sopenharmony_ci**示例:** 4182e41f4b71Sopenharmony_ci 4183e41f4b71Sopenharmony_ci```js 4184e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4185e41f4b71Sopenharmony_ci// 创建descriptors 4186e41f4b71Sopenharmony_cilet descriptors: Array<bluetoothManager.BLEDescriptor> = []; 4187e41f4b71Sopenharmony_cilet bufferDesc = new ArrayBuffer(8); 4188e41f4b71Sopenharmony_cilet descV = new Uint8Array(bufferDesc); 4189e41f4b71Sopenharmony_cidescV[0] = 11; 4190e41f4b71Sopenharmony_cilet descriptor: bluetoothManager.BLEDescriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 4191e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 4192e41f4b71Sopenharmony_ci descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc}; 4193e41f4b71Sopenharmony_cidescriptors[0] = descriptor; 4194e41f4b71Sopenharmony_ci 4195e41f4b71Sopenharmony_cilet bufferCCC = new ArrayBuffer(8); 4196e41f4b71Sopenharmony_cilet cccV = new Uint8Array(bufferCCC); 4197e41f4b71Sopenharmony_cicccV[0] = 1; 4198e41f4b71Sopenharmony_cilet characteristic: bluetoothManager.BLECharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB', 4199e41f4b71Sopenharmony_ci characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', 4200e41f4b71Sopenharmony_ci characteristicValue: bufferCCC, descriptors:descriptors}; 4201e41f4b71Sopenharmony_citry { 4202e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 4203e41f4b71Sopenharmony_ci device.setNotifyCharacteristicChanged(characteristic, false); 4204e41f4b71Sopenharmony_ci} catch (err) { 4205e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4206e41f4b71Sopenharmony_ci} 4207e41f4b71Sopenharmony_ci 4208e41f4b71Sopenharmony_ci``` 4209e41f4b71Sopenharmony_ci 4210e41f4b71Sopenharmony_ci 4211e41f4b71Sopenharmony_ci### on('BLECharacteristicChange')<sup>(deprecated)</sup> 4212e41f4b71Sopenharmony_ci 4213e41f4b71Sopenharmony_cion(type: 'BLECharacteristicChange', callback: Callback<BLECharacteristic>): void 4214e41f4b71Sopenharmony_ci 4215e41f4b71Sopenharmony_ci订阅蓝牙低功耗设备的特征值变化事件。需要先调用setNotifyCharacteristicChanged接口才能接收server端的通知。 4216e41f4b71Sopenharmony_ci 4217e41f4b71Sopenharmony_ci> **说明:**<br/> 4218e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#on('BLECharacteristicChange')](js-apis-bluetooth-ble.md#onblecharacteristicchange)替代。 4219e41f4b71Sopenharmony_ci 4220e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4221e41f4b71Sopenharmony_ci 4222e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4223e41f4b71Sopenharmony_ci 4224e41f4b71Sopenharmony_ci**参数:** 4225e41f4b71Sopenharmony_ci 4226e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4227e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 4228e41f4b71Sopenharmony_ci| type | string | 是 | 填写"BLECharacteristicChange"字符串,表示特征值变化事件。 | 4229e41f4b71Sopenharmony_ci| callback | Callback<[BLECharacteristic](#blecharacteristicdeprecated)> | 是 | 表示蓝牙低功耗设备的特征值变化事件的回调函数。 | 4230e41f4b71Sopenharmony_ci 4231e41f4b71Sopenharmony_ci**错误码**: 4232e41f4b71Sopenharmony_ci 4233e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4234e41f4b71Sopenharmony_ci 4235e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4236e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4237e41f4b71Sopenharmony_ci|201 | Permission denied. | 4238e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4239e41f4b71Sopenharmony_ci 4240e41f4b71Sopenharmony_ci**示例:** 4241e41f4b71Sopenharmony_ci 4242e41f4b71Sopenharmony_ci```js 4243e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4244e41f4b71Sopenharmony_cifunction CharacteristicChange(characteristicChangeReq: ble.BLECharacteristic) { 4245e41f4b71Sopenharmony_ci let serviceUuid: string = characteristicChangeReq.serviceUuid; 4246e41f4b71Sopenharmony_ci let characteristicUuid: string = characteristicChangeReq.characteristicUuid; 4247e41f4b71Sopenharmony_ci let value: Uint8Array = new Uint8Array(characteristicChangeReq.characteristicValue); 4248e41f4b71Sopenharmony_ci} 4249e41f4b71Sopenharmony_citry { 4250e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 4251e41f4b71Sopenharmony_ci device.on('BLECharacteristicChange', CharacteristicChange); 4252e41f4b71Sopenharmony_ci} catch (err) { 4253e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4254e41f4b71Sopenharmony_ci} 4255e41f4b71Sopenharmony_ci``` 4256e41f4b71Sopenharmony_ci 4257e41f4b71Sopenharmony_ci 4258e41f4b71Sopenharmony_ci### off('BLECharacteristicChange')<sup>(deprecated)</sup> 4259e41f4b71Sopenharmony_ci 4260e41f4b71Sopenharmony_cioff(type: 'BLECharacteristicChange', callback?: Callback<BLECharacteristic>): void 4261e41f4b71Sopenharmony_ci 4262e41f4b71Sopenharmony_ci取消订阅蓝牙低功耗设备的特征值变化事件。 4263e41f4b71Sopenharmony_ci 4264e41f4b71Sopenharmony_ci> **说明:**<br/> 4265e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#off('BLECharacteristicChange')](js-apis-bluetooth-ble.md#offblecharacteristicchange)替代。 4266e41f4b71Sopenharmony_ci 4267e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4268e41f4b71Sopenharmony_ci 4269e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4270e41f4b71Sopenharmony_ci 4271e41f4b71Sopenharmony_ci**参数:** 4272e41f4b71Sopenharmony_ci 4273e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4274e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 4275e41f4b71Sopenharmony_ci| type | string | 是 | 填写"BLECharacteristicChange"字符串,表示特征值变化事件。 | 4276e41f4b71Sopenharmony_ci| callback | Callback<[BLECharacteristic](#blecharacteristicdeprecated)> | 否 | 表示取消订阅蓝牙低功耗设备的特征值变化事件。不填该参数则取消订阅该type对应的所有回调。 | 4277e41f4b71Sopenharmony_ci 4278e41f4b71Sopenharmony_ci**错误码**: 4279e41f4b71Sopenharmony_ci 4280e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4281e41f4b71Sopenharmony_ci 4282e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4283e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4284e41f4b71Sopenharmony_ci|201 | Permission denied. | 4285e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4286e41f4b71Sopenharmony_ci 4287e41f4b71Sopenharmony_ci**示例:** 4288e41f4b71Sopenharmony_ci 4289e41f4b71Sopenharmony_ci```js 4290e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4291e41f4b71Sopenharmony_citry { 4292e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 4293e41f4b71Sopenharmony_ci device.off('BLECharacteristicChange'); 4294e41f4b71Sopenharmony_ci} catch (err) { 4295e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4296e41f4b71Sopenharmony_ci} 4297e41f4b71Sopenharmony_ci``` 4298e41f4b71Sopenharmony_ci 4299e41f4b71Sopenharmony_ci 4300e41f4b71Sopenharmony_ci### on('BLEConnectionStateChange')<sup>(deprecated)</sup> 4301e41f4b71Sopenharmony_ci 4302e41f4b71Sopenharmony_cion(type: 'BLEConnectionStateChange', callback: Callback<BLEConnectChangedState>): void 4303e41f4b71Sopenharmony_ci 4304e41f4b71Sopenharmony_ciclient端订阅蓝牙低功耗设备的连接状态变化事件。 4305e41f4b71Sopenharmony_ci 4306e41f4b71Sopenharmony_ci> **说明:**<br/> 4307e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#on('BLEConnectionStateChange')](js-apis-bluetooth-ble.md#onbleconnectionstatechange)替代。 4308e41f4b71Sopenharmony_ci 4309e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4310e41f4b71Sopenharmony_ci 4311e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4312e41f4b71Sopenharmony_ci 4313e41f4b71Sopenharmony_ci**参数:** 4314e41f4b71Sopenharmony_ci 4315e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4316e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 4317e41f4b71Sopenharmony_ci| type | string | 是 | 填写"BLEConnectionStateChange"字符串,表示连接状态变化事件。 | 4318e41f4b71Sopenharmony_ci| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstatedeprecated)> | 是 | 表示连接状态,已连接或断开。 | 4319e41f4b71Sopenharmony_ci 4320e41f4b71Sopenharmony_ci**错误码**: 4321e41f4b71Sopenharmony_ci 4322e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4323e41f4b71Sopenharmony_ci 4324e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4325e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4326e41f4b71Sopenharmony_ci|201 | Permission denied. | 4327e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4328e41f4b71Sopenharmony_ci 4329e41f4b71Sopenharmony_ci**示例:** 4330e41f4b71Sopenharmony_ci 4331e41f4b71Sopenharmony_ci```js 4332e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4333e41f4b71Sopenharmony_cifunction ConnectStateChanged(state: bluetoothManager.BLEConnectChangedState) { 4334e41f4b71Sopenharmony_ci console.log('bluetooth connect state changed'); 4335e41f4b71Sopenharmony_ci let connectState: bluetoothManager.ProfileConnectionState = state.state; 4336e41f4b71Sopenharmony_ci} 4337e41f4b71Sopenharmony_citry { 4338e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 4339e41f4b71Sopenharmony_ci device.on('BLEConnectionStateChange', ConnectStateChanged); 4340e41f4b71Sopenharmony_ci} catch (err) { 4341e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4342e41f4b71Sopenharmony_ci} 4343e41f4b71Sopenharmony_ci``` 4344e41f4b71Sopenharmony_ci 4345e41f4b71Sopenharmony_ci 4346e41f4b71Sopenharmony_ci### off('BLEConnectionStateChange')<sup>(deprecated)</sup> 4347e41f4b71Sopenharmony_ci 4348e41f4b71Sopenharmony_cioff(type: 'BLEConnectionStateChange', callback?: Callback<BLEConnectChangedState>): void 4349e41f4b71Sopenharmony_ci 4350e41f4b71Sopenharmony_ci取消订阅蓝牙低功耗设备的连接状态变化事件。 4351e41f4b71Sopenharmony_ci 4352e41f4b71Sopenharmony_ci> **说明:**<br/> 4353e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#off('BLEConnectionStateChange')](js-apis-bluetooth-ble.md#offbleconnectionstatechange)替代。 4354e41f4b71Sopenharmony_ci 4355e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4356e41f4b71Sopenharmony_ci 4357e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4358e41f4b71Sopenharmony_ci 4359e41f4b71Sopenharmony_ci**参数:** 4360e41f4b71Sopenharmony_ci 4361e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4362e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 4363e41f4b71Sopenharmony_ci| type | string | 是 | 填写"BLEConnectionStateChange"字符串,表示连接状态变化事件。 | 4364e41f4b71Sopenharmony_ci| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstatedeprecated)> | 否 | 表示取消订阅蓝牙低功耗设备的连接状态变化事件。不填该参数则取消订阅该type对应的所有回调。 | 4365e41f4b71Sopenharmony_ci 4366e41f4b71Sopenharmony_ci**错误码**: 4367e41f4b71Sopenharmony_ci 4368e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4369e41f4b71Sopenharmony_ci 4370e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4371e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4372e41f4b71Sopenharmony_ci|201 | Permission denied. | 4373e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4374e41f4b71Sopenharmony_ci 4375e41f4b71Sopenharmony_ci**示例:** 4376e41f4b71Sopenharmony_ci 4377e41f4b71Sopenharmony_ci```js 4378e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4379e41f4b71Sopenharmony_citry { 4380e41f4b71Sopenharmony_ci let device = bluetoothManager.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX'); 4381e41f4b71Sopenharmony_ci device.off('BLEConnectionStateChange'); 4382e41f4b71Sopenharmony_ci} catch (err) { 4383e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4384e41f4b71Sopenharmony_ci} 4385e41f4b71Sopenharmony_ci``` 4386e41f4b71Sopenharmony_ci 4387e41f4b71Sopenharmony_ci 4388e41f4b71Sopenharmony_ci### getDeviceName<sup>(deprecated)</sup> 4389e41f4b71Sopenharmony_ci 4390e41f4b71Sopenharmony_cigetDeviceName(callback: AsyncCallback<string>): void 4391e41f4b71Sopenharmony_ci 4392e41f4b71Sopenharmony_ciclient获取远端蓝牙低功耗设备名。 4393e41f4b71Sopenharmony_ci 4394e41f4b71Sopenharmony_ci> **说明:**<br/> 4395e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#getDeviceName](js-apis-bluetooth-ble.md#getdevicename)替代。 4396e41f4b71Sopenharmony_ci 4397e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4398e41f4b71Sopenharmony_ci 4399e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4400e41f4b71Sopenharmony_ci 4401e41f4b71Sopenharmony_ci**参数:** 4402e41f4b71Sopenharmony_ci 4403e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4404e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ------------------------------- | 4405e41f4b71Sopenharmony_ci| callback | AsyncCallback<string> | 是 | client获取对端server设备名,通过注册回调函数获取。 | 4406e41f4b71Sopenharmony_ci 4407e41f4b71Sopenharmony_ci**错误码**: 4408e41f4b71Sopenharmony_ci 4409e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4410e41f4b71Sopenharmony_ci 4411e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4412e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4413e41f4b71Sopenharmony_ci|201 | Permission denied. | 4414e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4415e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4416e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 4417e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 4418e41f4b71Sopenharmony_ci 4419e41f4b71Sopenharmony_ci**示例:** 4420e41f4b71Sopenharmony_ci 4421e41f4b71Sopenharmony_ci```js 4422e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4423e41f4b71Sopenharmony_ci// callback 4424e41f4b71Sopenharmony_citry { 4425e41f4b71Sopenharmony_ci let gattClient = bluetoothManager.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX"); 4426e41f4b71Sopenharmony_ci gattClient.connect(); 4427e41f4b71Sopenharmony_ci let deviceName = gattClient.getDeviceName((err, data)=> { 4428e41f4b71Sopenharmony_ci console.info('device name err ' + JSON.stringify(err)); 4429e41f4b71Sopenharmony_ci console.info('device name' + JSON.stringify(data)); 4430e41f4b71Sopenharmony_ci }) 4431e41f4b71Sopenharmony_ci} catch (err) { 4432e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4433e41f4b71Sopenharmony_ci} 4434e41f4b71Sopenharmony_ci``` 4435e41f4b71Sopenharmony_ci 4436e41f4b71Sopenharmony_ci 4437e41f4b71Sopenharmony_ci### getDeviceName<sup>(deprecated)</sup> 4438e41f4b71Sopenharmony_ci 4439e41f4b71Sopenharmony_cigetDeviceName(): Promise<string> 4440e41f4b71Sopenharmony_ci 4441e41f4b71Sopenharmony_ciclient获取远端蓝牙低功耗设备名。 4442e41f4b71Sopenharmony_ci 4443e41f4b71Sopenharmony_ci> **说明:**<br/> 4444e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#getDeviceName](js-apis-bluetooth-ble.md#getdevicename-1)替代。 4445e41f4b71Sopenharmony_ci 4446e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4447e41f4b71Sopenharmony_ci 4448e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4449e41f4b71Sopenharmony_ci 4450e41f4b71Sopenharmony_ci**返回值:** 4451e41f4b71Sopenharmony_ci 4452e41f4b71Sopenharmony_ci| 类型 | 说明 | 4453e41f4b71Sopenharmony_ci| --------------------- | ---------------------------------- | 4454e41f4b71Sopenharmony_ci| Promise<string> | client获取对端server设备名,通过promise形式获取。 | 4455e41f4b71Sopenharmony_ci 4456e41f4b71Sopenharmony_ci**错误码**: 4457e41f4b71Sopenharmony_ci 4458e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4459e41f4b71Sopenharmony_ci 4460e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4461e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4462e41f4b71Sopenharmony_ci|201 | Permission denied. | 4463e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3. Parameter verification failed. | 4464e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4465e41f4b71Sopenharmony_ci|2900001 | Service stopped. | 4466e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 4467e41f4b71Sopenharmony_ci 4468e41f4b71Sopenharmony_ci**示例:** 4469e41f4b71Sopenharmony_ci 4470e41f4b71Sopenharmony_ci```js 4471e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4472e41f4b71Sopenharmony_ci// promise 4473e41f4b71Sopenharmony_citry { 4474e41f4b71Sopenharmony_ci let gattClient = bluetoothManager.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX"); 4475e41f4b71Sopenharmony_ci gattClient.connect(); 4476e41f4b71Sopenharmony_ci let deviceName = gattClient.getDeviceName().then((data) => { 4477e41f4b71Sopenharmony_ci console.info('device name' + JSON.stringify(data)); 4478e41f4b71Sopenharmony_ci }) 4479e41f4b71Sopenharmony_ci} catch (err) { 4480e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4481e41f4b71Sopenharmony_ci} 4482e41f4b71Sopenharmony_ci``` 4483e41f4b71Sopenharmony_ci 4484e41f4b71Sopenharmony_ci 4485e41f4b71Sopenharmony_ci### getRssiValue<sup>(deprecated)</sup> 4486e41f4b71Sopenharmony_ci 4487e41f4b71Sopenharmony_cigetRssiValue(callback: AsyncCallback<number>): void 4488e41f4b71Sopenharmony_ci 4489e41f4b71Sopenharmony_ciclient获取远端蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI),调用[connect](#connect)接口连接成功后才能使用。 4490e41f4b71Sopenharmony_ci 4491e41f4b71Sopenharmony_ci> **说明:**<br/> 4492e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#getRssiValue](js-apis-bluetooth-ble.md#getrssivalue)替代。 4493e41f4b71Sopenharmony_ci 4494e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4495e41f4b71Sopenharmony_ci 4496e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4497e41f4b71Sopenharmony_ci 4498e41f4b71Sopenharmony_ci**参数:** 4499e41f4b71Sopenharmony_ci 4500e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 4501e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ------------------------------ | 4502e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | 是 | 返回信号强度,单位 dBm,通过注册回调函数获取。 | 4503e41f4b71Sopenharmony_ci 4504e41f4b71Sopenharmony_ci**错误码**: 4505e41f4b71Sopenharmony_ci 4506e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4507e41f4b71Sopenharmony_ci 4508e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4509e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4510e41f4b71Sopenharmony_ci|201 | Permission denied. | 4511e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4512e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4513e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 4514e41f4b71Sopenharmony_ci 4515e41f4b71Sopenharmony_ci**示例:** 4516e41f4b71Sopenharmony_ci 4517e41f4b71Sopenharmony_ci```js 4518e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4519e41f4b71Sopenharmony_ci// callback 4520e41f4b71Sopenharmony_citry { 4521e41f4b71Sopenharmony_ci let gattClient = bluetoothManager.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX"); 4522e41f4b71Sopenharmony_ci gattClient.connect(); 4523e41f4b71Sopenharmony_ci let rssi = gattClient.getRssiValue((err: BusinessError, data: number)=> { 4524e41f4b71Sopenharmony_ci console.info('rssi err ' + JSON.stringify(err)); 4525e41f4b71Sopenharmony_ci console.info('rssi value' + JSON.stringify(data)); 4526e41f4b71Sopenharmony_ci }) 4527e41f4b71Sopenharmony_ci} catch (err) { 4528e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4529e41f4b71Sopenharmony_ci} 4530e41f4b71Sopenharmony_ci``` 4531e41f4b71Sopenharmony_ci 4532e41f4b71Sopenharmony_ci 4533e41f4b71Sopenharmony_ci### getRssiValue<sup>(deprecated)</sup> 4534e41f4b71Sopenharmony_ci 4535e41f4b71Sopenharmony_cigetRssiValue(): Promise<number> 4536e41f4b71Sopenharmony_ci 4537e41f4b71Sopenharmony_ciclient获取远端蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI),调用[connect](#connect)接口连接成功后才能使用。 4538e41f4b71Sopenharmony_ci 4539e41f4b71Sopenharmony_ci> **说明:**<br/> 4540e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattClientDevice#getRssiValue](js-apis-bluetooth-ble.md#getrssivalue-1)替代。 4541e41f4b71Sopenharmony_ci 4542e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.ACCESS_BLUETOOTH 4543e41f4b71Sopenharmony_ci 4544e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4545e41f4b71Sopenharmony_ci 4546e41f4b71Sopenharmony_ci**返回值:** 4547e41f4b71Sopenharmony_ci 4548e41f4b71Sopenharmony_ci| 类型 | 说明 | 4549e41f4b71Sopenharmony_ci| --------------------- | --------------------------------- | 4550e41f4b71Sopenharmony_ci| Promise<number> | 返回信号强度,单位 dBm,通过promise形式获取。 | 4551e41f4b71Sopenharmony_ci 4552e41f4b71Sopenharmony_ci**错误码**: 4553e41f4b71Sopenharmony_ci 4554e41f4b71Sopenharmony_ci以下错误码的详细介绍请参见[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。 4555e41f4b71Sopenharmony_ci 4556e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 4557e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4558e41f4b71Sopenharmony_ci|201 | Permission denied. | 4559e41f4b71Sopenharmony_ci|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 4560e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4561e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 4562e41f4b71Sopenharmony_ci 4563e41f4b71Sopenharmony_ci**示例:** 4564e41f4b71Sopenharmony_ci 4565e41f4b71Sopenharmony_ci```js 4566e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4567e41f4b71Sopenharmony_ci// promise 4568e41f4b71Sopenharmony_citry { 4569e41f4b71Sopenharmony_ci let gattClient = bluetoothManager.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX"); 4570e41f4b71Sopenharmony_ci let rssi = gattClient.getRssiValue().then((data: number) => { 4571e41f4b71Sopenharmony_ci console.info('rssi' + JSON.stringify(data)); 4572e41f4b71Sopenharmony_ci }) 4573e41f4b71Sopenharmony_ci} catch (err) { 4574e41f4b71Sopenharmony_ci console.error("errCode:" + (err as BusinessError).code + ",errMessage:" + (err as BusinessError).message); 4575e41f4b71Sopenharmony_ci} 4576e41f4b71Sopenharmony_ci``` 4577e41f4b71Sopenharmony_ci 4578e41f4b71Sopenharmony_ci## ScanMode<sup>(deprecated)</sup> 4579e41f4b71Sopenharmony_ci 4580e41f4b71Sopenharmony_ci枚举,扫描模式。 4581e41f4b71Sopenharmony_ci 4582e41f4b71Sopenharmony_ci> **说明:**<br/> 4583e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.ScanMode](js-apis-bluetooth-connection.md#scanmode)替代。 4584e41f4b71Sopenharmony_ci 4585e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4586e41f4b71Sopenharmony_ci 4587e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 4588e41f4b71Sopenharmony_ci| ---------------------------------------- | ---- | --------------- | 4589e41f4b71Sopenharmony_ci| SCAN_MODE_NONE | 0 | 没有扫描模式。 | 4590e41f4b71Sopenharmony_ci| SCAN_MODE_CONNECTABLE | 1 | 可连接扫描模式。 | 4591e41f4b71Sopenharmony_ci| SCAN_MODE_GENERAL_DISCOVERABLE | 2 | general发现模式。 | 4592e41f4b71Sopenharmony_ci| SCAN_MODE_LIMITED_DISCOVERABLE | 3 | limited发现模式。 | 4593e41f4b71Sopenharmony_ci| SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE | 4 | 可连接general发现模式。 | 4594e41f4b71Sopenharmony_ci| SCAN_MODE_CONNECTABLE_LIMITED_DISCOVERABLE | 5 | 可连接limited发现模式。 | 4595e41f4b71Sopenharmony_ci 4596e41f4b71Sopenharmony_ci## BondState<sup>(deprecated)</sup> 4597e41f4b71Sopenharmony_ci 4598e41f4b71Sopenharmony_ci枚举,配对状态。 4599e41f4b71Sopenharmony_ci 4600e41f4b71Sopenharmony_ci> **说明:**<br/> 4601e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.BondState](js-apis-bluetooth-connection.md#bondstate)替代。 4602e41f4b71Sopenharmony_ci 4603e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4604e41f4b71Sopenharmony_ci 4605e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 4606e41f4b71Sopenharmony_ci| ------------------ | ---- | ------ | 4607e41f4b71Sopenharmony_ci| BOND_STATE_INVALID | 0 | 无效的配对。 | 4608e41f4b71Sopenharmony_ci| BOND_STATE_BONDING | 1 | 正在配对。 | 4609e41f4b71Sopenharmony_ci| BOND_STATE_BONDED | 2 | 已配对。 | 4610e41f4b71Sopenharmony_ci 4611e41f4b71Sopenharmony_ci 4612e41f4b71Sopenharmony_ci## SppOption<sup>(deprecated)</sup> 4613e41f4b71Sopenharmony_ci 4614e41f4b71Sopenharmony_ci描述spp的配置参数。 4615e41f4b71Sopenharmony_ci 4616e41f4b71Sopenharmony_ci> **说明:**<br/> 4617e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[socket.SppOption](js-apis-bluetooth-socket.md#sppoptions)替代。 4618e41f4b71Sopenharmony_ci 4619e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4620e41f4b71Sopenharmony_ci 4621e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4622e41f4b71Sopenharmony_ci| ------ | ------------------- | ---- | ---- | ----------- | 4623e41f4b71Sopenharmony_ci| uuid | string | 是 | 是 | spp单据的uuid。 | 4624e41f4b71Sopenharmony_ci| secure | boolean | 是 | 是 | 是否是安全通道。 | 4625e41f4b71Sopenharmony_ci| type | [SppType](#spptypedeprecated) | 是 | 是 | Spp链路类型。 | 4626e41f4b71Sopenharmony_ci 4627e41f4b71Sopenharmony_ci 4628e41f4b71Sopenharmony_ci## SppType<sup>(deprecated)</sup> 4629e41f4b71Sopenharmony_ci 4630e41f4b71Sopenharmony_ci枚举,Spp链路类型。 4631e41f4b71Sopenharmony_ci 4632e41f4b71Sopenharmony_ci> **说明:**<br/> 4633e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[socket.SppType](js-apis-bluetooth-socket.md#spptype)替代。 4634e41f4b71Sopenharmony_ci 4635e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4636e41f4b71Sopenharmony_ci 4637e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 4638e41f4b71Sopenharmony_ci| ---------- | ---- | ------------- | 4639e41f4b71Sopenharmony_ci| SPP_RFCOMM | 0 | 表示rfcomm链路类型。 | 4640e41f4b71Sopenharmony_ci 4641e41f4b71Sopenharmony_ci 4642e41f4b71Sopenharmony_ci## GattService<sup>(deprecated)</sup> 4643e41f4b71Sopenharmony_ci 4644e41f4b71Sopenharmony_ci描述service的接口参数定义。 4645e41f4b71Sopenharmony_ci 4646e41f4b71Sopenharmony_ci> **说明:**<br/> 4647e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.GattService](js-apis-bluetooth-ble.md#gattservice)替代。 4648e41f4b71Sopenharmony_ci 4649e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4650e41f4b71Sopenharmony_ci 4651e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4652e41f4b71Sopenharmony_ci| --------------- | ---------------------------------------- | ---- | ---- | ---------------------------------------- | 4653e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 4654e41f4b71Sopenharmony_ci| isPrimary | boolean | 是 | 是 | 如果是主服务设置为true,否则设置为false。 | 4655e41f4b71Sopenharmony_ci| characteristics | Array<[BLECharacteristic](#blecharacteristicdeprecated)> | 是 | 是 | 当前服务包含的特征列表。 | 4656e41f4b71Sopenharmony_ci| includeServices | Array<[GattService](#gattservicedeprecated)> | 是 | 是 | 当前服务依赖的其它服务。 | 4657e41f4b71Sopenharmony_ci 4658e41f4b71Sopenharmony_ci 4659e41f4b71Sopenharmony_ci## BLECharacteristic<sup>(deprecated)</sup> 4660e41f4b71Sopenharmony_ci 4661e41f4b71Sopenharmony_ci描述characteristic的接口参数定义。 4662e41f4b71Sopenharmony_ci 4663e41f4b71Sopenharmony_ci> **说明:**<br/> 4664e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.BLECharacteristic](js-apis-bluetooth-ble.md#blecharacteristic)替代。 4665e41f4b71Sopenharmony_ci 4666e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4667e41f4b71Sopenharmony_ci 4668e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4669e41f4b71Sopenharmony_ci| ------------------- | ---------------------------------------- | ---- | ---- | ---------------------------------------- | 4670e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 4671e41f4b71Sopenharmony_ci| characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 | 4672e41f4b71Sopenharmony_ci| characteristicValue | ArrayBuffer | 是 | 是 | 特征对应的二进制值。 | 4673e41f4b71Sopenharmony_ci| descriptors | Array<[BLEDescriptor](#bledescriptordeprecated)> | 是 | 是 | 特定特征的描述符列表。 | 4674e41f4b71Sopenharmony_ci 4675e41f4b71Sopenharmony_ci 4676e41f4b71Sopenharmony_ci## BLEDescriptor<sup>(deprecated)</sup> 4677e41f4b71Sopenharmony_ci 4678e41f4b71Sopenharmony_ci描述descriptor的接口参数定义。 4679e41f4b71Sopenharmony_ci 4680e41f4b71Sopenharmony_ci> **说明:**<br/> 4681e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.BLEDescriptor](js-apis-bluetooth-ble.md#bledescriptor)替代。 4682e41f4b71Sopenharmony_ci 4683e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4684e41f4b71Sopenharmony_ci 4685e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4686e41f4b71Sopenharmony_ci| ------------------ | ----------- | ---- | ---- | ---------------------------------------- | 4687e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 4688e41f4b71Sopenharmony_ci| characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 | 4689e41f4b71Sopenharmony_ci| descriptorUuid | string | 是 | 是 | 描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 | 4690e41f4b71Sopenharmony_ci| descriptorValue | ArrayBuffer | 是 | 是 | 描述符对应的二进制值。 | 4691e41f4b71Sopenharmony_ci 4692e41f4b71Sopenharmony_ci 4693e41f4b71Sopenharmony_ci## NotifyCharacteristic<sup>(deprecated)</sup> 4694e41f4b71Sopenharmony_ci 4695e41f4b71Sopenharmony_ci描述server端特征值变化时发送的特征通知参数定义。 4696e41f4b71Sopenharmony_ci 4697e41f4b71Sopenharmony_ci> **说明:**<br/> 4698e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.NotifyCharacteristic](js-apis-bluetooth-ble.md#notifycharacteristic)替代。 4699e41f4b71Sopenharmony_ci 4700e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4701e41f4b71Sopenharmony_ci 4702e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4703e41f4b71Sopenharmony_ci| ------------------- | ----------- | ---- | ---- | ---------------------------------------- | 4704e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | 是 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 4705e41f4b71Sopenharmony_ci| characteristicUuid | string | 是 | 是 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 | 4706e41f4b71Sopenharmony_ci| characteristicValue | ArrayBuffer | 是 | 是 | 特征对应的二进制值。 | 4707e41f4b71Sopenharmony_ci| confirm | boolean | 是 | 是 | 如果是notification则对端回复确认设置为true,如果是indication则对端不需要回复确认设置为false。 | 4708e41f4b71Sopenharmony_ci 4709e41f4b71Sopenharmony_ci 4710e41f4b71Sopenharmony_ci## CharacteristicReadRequest<sup>(deprecated)</sup> 4711e41f4b71Sopenharmony_ci 4712e41f4b71Sopenharmony_ci描述server端订阅后收到的特征值读请求事件参数结构。 4713e41f4b71Sopenharmony_ci 4714e41f4b71Sopenharmony_ci> **说明:**<br/> 4715e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.CharacteristicReadRequest](js-apis-bluetooth-ble.md#characteristicreadrequest)替代。 4716e41f4b71Sopenharmony_ci 4717e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4718e41f4b71Sopenharmony_ci 4719e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4720e41f4b71Sopenharmony_ci| ------------------ | ------ | ---- | ---- | ---------------------------------------- | 4721e41f4b71Sopenharmony_ci| deviceId | string | 是 | 否 | 表示发送特征值读请求的远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 4722e41f4b71Sopenharmony_ci| transId | number | 是 | 否 | 表示读请求的传输ID,server端回复响应时需填写相同的传输ID。 | 4723e41f4b71Sopenharmony_ci| offset | number | 是 | 否 | 表示读特征值数据的起始位置。例如:k表示从第k个字节开始读,server端回复响应时需填写相同的offset。 | 4724e41f4b71Sopenharmony_ci| characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 | 4725e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | 否 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 4726e41f4b71Sopenharmony_ci 4727e41f4b71Sopenharmony_ci 4728e41f4b71Sopenharmony_ci## CharacteristicWriteRequest<sup>(deprecated)</sup> 4729e41f4b71Sopenharmony_ci 4730e41f4b71Sopenharmony_ci描述server端订阅后收到的特征值写请求事件参数结构。 4731e41f4b71Sopenharmony_ci 4732e41f4b71Sopenharmony_ci> **说明:**<br/> 4733e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.CharacteristicWriteRequest](js-apis-bluetooth-ble.md#characteristicwriterequest)替代。 4734e41f4b71Sopenharmony_ci 4735e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4736e41f4b71Sopenharmony_ci 4737e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4738e41f4b71Sopenharmony_ci| ------------------ | ------ | ---- | ---- | ---------------------------------------- | 4739e41f4b71Sopenharmony_ci| deviceId | string | 是 | 否 | 表示发送特征值写请求的远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 4740e41f4b71Sopenharmony_ci| transId | number | 是 | 否 | 表示写请求的传输ID,server端回复响应时需填写相同的传输ID。 | 4741e41f4b71Sopenharmony_ci| offset | number | 是 | 否 | 表示写特征值数据的起始位置。例如:k表示从第k个字节开始写,server端回复响应时需填写相同的offset。 | 4742e41f4b71Sopenharmony_ci| characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 | 4743e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | 否 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 4744e41f4b71Sopenharmony_ci 4745e41f4b71Sopenharmony_ci 4746e41f4b71Sopenharmony_ci## DescriptorReadRequest<sup>(deprecated)</sup> 4747e41f4b71Sopenharmony_ci 4748e41f4b71Sopenharmony_ci描述server端订阅后收到的描述符读请求事件参数结构。 4749e41f4b71Sopenharmony_ci 4750e41f4b71Sopenharmony_ci> **说明:**<br/> 4751e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.DescriptorReadRequest](js-apis-bluetooth-ble.md#descriptorreadrequest)替代。 4752e41f4b71Sopenharmony_ci 4753e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4754e41f4b71Sopenharmony_ci 4755e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4756e41f4b71Sopenharmony_ci| ------------------ | ------ | ---- | ---- | ---------------------------------------- | 4757e41f4b71Sopenharmony_ci| deviceId | string | 是 | 否 | 表示发送描述符读请求的远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 4758e41f4b71Sopenharmony_ci| transId | number | 是 | 否 | 表示读请求的传输ID,server端回复响应时需填写相同的传输ID。 | 4759e41f4b71Sopenharmony_ci| offset | number | 是 | 否 | 表示读描述符数据的起始位置。例如:k表示从第k个字节开始读,server端回复响应时需填写相同的offset。 | 4760e41f4b71Sopenharmony_ci| descriptorUuid | string | 是 | 否 | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 | 4761e41f4b71Sopenharmony_ci| characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 | 4762e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | 否 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 4763e41f4b71Sopenharmony_ci 4764e41f4b71Sopenharmony_ci 4765e41f4b71Sopenharmony_ci## DescriptorWriteRequest<sup>(deprecated)</sup> 4766e41f4b71Sopenharmony_ci 4767e41f4b71Sopenharmony_ci描述server端订阅后收到的描述符写请求事件参数结构。 4768e41f4b71Sopenharmony_ci 4769e41f4b71Sopenharmony_ci> **说明:**<br/> 4770e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.DescriptorWriteRequest](js-apis-bluetooth-ble.md#descriptorwriterequest)替代。 4771e41f4b71Sopenharmony_ci 4772e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4773e41f4b71Sopenharmony_ci 4774e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4775e41f4b71Sopenharmony_ci| ------------------ | ----------- | ---- | ---- | ---------------------------------------- | 4776e41f4b71Sopenharmony_ci| deviceId | string | 是 | 否 | 表示发送描述符写请求的远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 4777e41f4b71Sopenharmony_ci| transId | number | 是 | 否 | 表示写请求的传输ID,server端回复响应时需填写相同的传输ID。 | 4778e41f4b71Sopenharmony_ci| offset | number | 是 | 否 | 表示写描述符数据的起始位置。例如:k表示从第k个字节开始写,server端回复响应时需填写相同的offset。 | 4779e41f4b71Sopenharmony_ci| isPrep | boolean | 是 | 否 | 表示写请求是否立即执行。 | 4780e41f4b71Sopenharmony_ci| needRsp | boolean | 是 | 否 | 表示是否要给client端回复响应。 | 4781e41f4b71Sopenharmony_ci| value | ArrayBuffer | 是 | 否 | 表示写入的描述符二进制数据。 | 4782e41f4b71Sopenharmony_ci| descriptorUuid | string | 是 | 否 | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 | 4783e41f4b71Sopenharmony_ci| characteristicUuid | string | 是 | 否 | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 | 4784e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | 否 | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 | 4785e41f4b71Sopenharmony_ci 4786e41f4b71Sopenharmony_ci 4787e41f4b71Sopenharmony_ci## ServerResponse<sup>(deprecated)</sup> 4788e41f4b71Sopenharmony_ci 4789e41f4b71Sopenharmony_ci描述server端回复client端读/写请求的响应参数结构。 4790e41f4b71Sopenharmony_ci 4791e41f4b71Sopenharmony_ci> **说明:**<br/> 4792e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.ServerResponse](js-apis-bluetooth-ble.md#serverresponse)替代。 4793e41f4b71Sopenharmony_ci 4794e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4795e41f4b71Sopenharmony_ci 4796e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4797e41f4b71Sopenharmony_ci| -------- | ----------- | ---- | ---- | -------------------------------------- | 4798e41f4b71Sopenharmony_ci| deviceId | string | 是 | 否 | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 4799e41f4b71Sopenharmony_ci| transId | number | 是 | 否 | 表示请求的传输ID,与订阅的读/写请求事件携带的ID保持一致。 | 4800e41f4b71Sopenharmony_ci| status | number | 是 | 否 | 表示响应的状态,设置为0即可,表示正常。 | 4801e41f4b71Sopenharmony_ci| offset | number | 是 | 否 | 表示请求的读/写起始位置,与订阅的读/写请求事件携带的offset保持一致。 | 4802e41f4b71Sopenharmony_ci| value | ArrayBuffer | 是 | 否 | 表示回复响应的二进制数据。 | 4803e41f4b71Sopenharmony_ci 4804e41f4b71Sopenharmony_ci 4805e41f4b71Sopenharmony_ci## BLEConnectChangedState<sup>(deprecated)</sup> 4806e41f4b71Sopenharmony_ci 4807e41f4b71Sopenharmony_ci描述Gatt profile连接状态。 4808e41f4b71Sopenharmony_ci 4809e41f4b71Sopenharmony_ci> **说明:**<br/> 4810e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[BLEConnectionChangeState](js-apis-bluetooth-ble.md#bleconnectionchangestate)替代。 4811e41f4b71Sopenharmony_ci 4812e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4813e41f4b71Sopenharmony_ci 4814e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4815e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- | ---- | ---- | --------------------------------------------- | 4816e41f4b71Sopenharmony_ci| deviceId | string | 是 | 否 | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 4817e41f4b71Sopenharmony_ci| state | [ProfileConnectionState](#profileconnectionstatedeprecated) | 是 | 是 | 表示BLE连接状态的枚举。 | 4818e41f4b71Sopenharmony_ci 4819e41f4b71Sopenharmony_ci 4820e41f4b71Sopenharmony_ci## ProfileConnectionState<sup>(deprecated)</sup> 4821e41f4b71Sopenharmony_ci 4822e41f4b71Sopenharmony_ci枚举,蓝牙设备的profile连接状态。 4823e41f4b71Sopenharmony_ci 4824e41f4b71Sopenharmony_ci> **说明:**<br/> 4825e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[constant.ProfileConnectionState](js-apis-bluetooth-constant.md#profileconnectionstate)替代。 4826e41f4b71Sopenharmony_ci 4827e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4828e41f4b71Sopenharmony_ci 4829e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 4830e41f4b71Sopenharmony_ci| ------------------- | ---- | -------------- | 4831e41f4b71Sopenharmony_ci| STATE_DISCONNECTED | 0 | 表示profile已断连。 | 4832e41f4b71Sopenharmony_ci| STATE_CONNECTING | 1 | 表示profile正在连接。 | 4833e41f4b71Sopenharmony_ci| STATE_CONNECTED | 2 | 表示profile已连接。 | 4834e41f4b71Sopenharmony_ci| STATE_DISCONNECTING | 3 | 表示profile正在断连。 | 4835e41f4b71Sopenharmony_ci 4836e41f4b71Sopenharmony_ci 4837e41f4b71Sopenharmony_ci## ScanFilter<sup>(deprecated)</sup> 4838e41f4b71Sopenharmony_ci 4839e41f4b71Sopenharmony_ci扫描过滤参数。 4840e41f4b71Sopenharmony_ci 4841e41f4b71Sopenharmony_ci> **说明:**<br/> 4842e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.ScanFilter](js-apis-bluetooth-ble.md#scanfilter)替代。 4843e41f4b71Sopenharmony_ci 4844e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4845e41f4b71Sopenharmony_ci 4846e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4847e41f4b71Sopenharmony_ci| ---------------------------------------- | ----------- | ---- | ---- | ------------------------------------------------------------ | 4848e41f4b71Sopenharmony_ci| deviceId | string | 是 | 是 | 表示过滤的BLE设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 4849e41f4b71Sopenharmony_ci| name | string | 是 | 是 | 表示过滤的BLE设备名。 | 4850e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | 是 | 表示过滤包含该UUID服务的设备,例如:00001888-0000-1000-8000-00805f9b34fb。 | 4851e41f4b71Sopenharmony_ci| serviceUuidMask | string | 是 | 是 | 表示过滤包含该UUID服务掩码的设备,例如:FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF。 | 4852e41f4b71Sopenharmony_ci| serviceSolicitationUuid | string | 是 | 是 | 表示过滤包含该UUID服务请求的设备,例如:00001888-0000-1000-8000-00805F9B34FB。 | 4853e41f4b71Sopenharmony_ci| serviceSolicitationUuidMask | string | 是 | 是 | 表示过滤包含该UUID服务请求掩码的设备,例如:FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF。 | 4854e41f4b71Sopenharmony_ci| serviceData | ArrayBuffer | 是 | 是 | 表示过滤包含该服务相关数据的设备,例如:[0x90,0x00,0xF1,0xF2]。 | 4855e41f4b71Sopenharmony_ci| serviceDataMask | ArrayBuffer | 是 | 是 | 表示过滤包含该服务相关数据掩码的设备,例如:[0xFF,0xFF,0xFF,0xFF]。 | 4856e41f4b71Sopenharmony_ci| manufactureId | number | 是 | 是 | 表示过滤包含该制造商ID的设备,例如:0x0006。 | 4857e41f4b71Sopenharmony_ci| manufactureData | ArrayBuffer | 是 | 是 | 表示过滤包含该制造商相关数据的设备,例如:[0x1F,0x2F,0x3F]。 | 4858e41f4b71Sopenharmony_ci| manufactureDataMask | ArrayBuffer | 是 | 是 | 表示过滤包含该制造商相关数据掩码的设备,例如:[0xFF,0xFF,0xFF]。 | 4859e41f4b71Sopenharmony_ci 4860e41f4b71Sopenharmony_ci 4861e41f4b71Sopenharmony_ci## ScanOptions<sup>(deprecated)</sup> 4862e41f4b71Sopenharmony_ci 4863e41f4b71Sopenharmony_ci扫描的配置参数。 4864e41f4b71Sopenharmony_ci 4865e41f4b71Sopenharmony_ci> **说明:**<br/> 4866e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.ScanOptions](js-apis-bluetooth-ble.md#scanoptions)替代。 4867e41f4b71Sopenharmony_ci 4868e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4869e41f4b71Sopenharmony_ci 4870e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4871e41f4b71Sopenharmony_ci| --------- | ----------------------- | ---- | ---- | -------------------------------------- | 4872e41f4b71Sopenharmony_ci| interval | number | 是 | 是 | 表示扫描结果上报延迟时间,默认值为0。 | 4873e41f4b71Sopenharmony_ci| dutyMode | [ScanDuty](#scandutydeprecated) | 是 | 是 | 表示扫描模式,默认值为SCAN_MODE_LOW_POWER。 | 4874e41f4b71Sopenharmony_ci| matchMode | [MatchMode](#matchmodedeprecated) | 是 | 是 | 表示硬件的过滤匹配模式,默认值为MATCH_MODE_AGGRESSIVE。 | 4875e41f4b71Sopenharmony_ci 4876e41f4b71Sopenharmony_ci 4877e41f4b71Sopenharmony_ci## ScanDuty<sup>(deprecated)</sup> 4878e41f4b71Sopenharmony_ci 4879e41f4b71Sopenharmony_ci枚举,扫描模式。 4880e41f4b71Sopenharmony_ci 4881e41f4b71Sopenharmony_ci> **说明:**<br/> 4882e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.ScanDuty](js-apis-bluetooth-ble.md#scanduty)替代。 4883e41f4b71Sopenharmony_ci 4884e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4885e41f4b71Sopenharmony_ci 4886e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 4887e41f4b71Sopenharmony_ci| --------------------- | ---- | ------------ | 4888e41f4b71Sopenharmony_ci| SCAN_MODE_LOW_POWER | 0 | 表示低功耗模式,默认值。 | 4889e41f4b71Sopenharmony_ci| SCAN_MODE_BALANCED | 1 | 表示均衡模式。 | 4890e41f4b71Sopenharmony_ci| SCAN_MODE_LOW_LATENCY | 2 | 表示低延迟模式。 | 4891e41f4b71Sopenharmony_ci 4892e41f4b71Sopenharmony_ci 4893e41f4b71Sopenharmony_ci## MatchMode<sup>(deprecated)</sup> 4894e41f4b71Sopenharmony_ci 4895e41f4b71Sopenharmony_ci枚举,硬件过滤匹配模式。 4896e41f4b71Sopenharmony_ci 4897e41f4b71Sopenharmony_ci> **说明:**<br/> 4898e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.MatchMode](js-apis-bluetooth-ble.md#matchmode)替代。 4899e41f4b71Sopenharmony_ci 4900e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4901e41f4b71Sopenharmony_ci 4902e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 4903e41f4b71Sopenharmony_ci| --------------------- | ---- | ---------------------------------------- | 4904e41f4b71Sopenharmony_ci| MATCH_MODE_AGGRESSIVE | 1 | 表示硬件上报扫描结果门限较低,比如扫描到的功率较低或者一段时间扫描到的次数较少也触发上报,默认值。 | 4905e41f4b71Sopenharmony_ci| MATCH_MODE_STICKY | 2 | 表示硬件上报扫描结果门限较高,更高的功率门限以及扫描到多次才会上报。 | 4906e41f4b71Sopenharmony_ci 4907e41f4b71Sopenharmony_ci 4908e41f4b71Sopenharmony_ci## ScanResult<sup>(deprecated)</sup> 4909e41f4b71Sopenharmony_ci 4910e41f4b71Sopenharmony_ci扫描结果上报数据。 4911e41f4b71Sopenharmony_ci 4912e41f4b71Sopenharmony_ci> **说明:**<br/> 4913e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.ScanResult](js-apis-bluetooth-ble.md#scanresult)替代。 4914e41f4b71Sopenharmony_ci 4915e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4916e41f4b71Sopenharmony_ci 4917e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4918e41f4b71Sopenharmony_ci| -------- | ----------- | ---- | ---- | ---------------------------------- | 4919e41f4b71Sopenharmony_ci| deviceId | string | 是 | 否 | 表示扫描到的设备地址,例如:"XX:XX:XX:XX:XX:XX"。 | 4920e41f4b71Sopenharmony_ci| rssi | number | 是 | 否 | 表示扫描到的设备的rssi值。 | 4921e41f4b71Sopenharmony_ci| data | ArrayBuffer | 是 | 否 | 表示扫描到的设备发送的广播包。 | 4922e41f4b71Sopenharmony_ci 4923e41f4b71Sopenharmony_ci 4924e41f4b71Sopenharmony_ci## BluetoothState<sup>(deprecated)</sup> 4925e41f4b71Sopenharmony_ci 4926e41f4b71Sopenharmony_ci枚举,蓝牙开关状态。 4927e41f4b71Sopenharmony_ci 4928e41f4b71Sopenharmony_ci> **说明:**<br/> 4929e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[access.BluetoothState](js-apis-bluetooth-access.md#bluetoothstate)替代。 4930e41f4b71Sopenharmony_ci 4931e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4932e41f4b71Sopenharmony_ci 4933e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 4934e41f4b71Sopenharmony_ci| --------------------- | ---- | ------------------ | 4935e41f4b71Sopenharmony_ci| STATE_OFF | 0 | 表示蓝牙已关闭。 | 4936e41f4b71Sopenharmony_ci| STATE_TURNING_ON | 1 | 表示蓝牙正在打开。 | 4937e41f4b71Sopenharmony_ci| STATE_ON | 2 | 表示蓝牙已打开。 | 4938e41f4b71Sopenharmony_ci| STATE_TURNING_OFF | 3 | 表示蓝牙正在关闭。 | 4939e41f4b71Sopenharmony_ci| STATE_BLE_TURNING_ON | 4 | 表示蓝牙正在打开LE-only模式。 | 4940e41f4b71Sopenharmony_ci| STATE_BLE_ON | 5 | 表示蓝牙正处于LE-only模式。 | 4941e41f4b71Sopenharmony_ci| STATE_BLE_TURNING_OFF | 6 | 表示蓝牙正在关闭LE-only模式。 | 4942e41f4b71Sopenharmony_ci 4943e41f4b71Sopenharmony_ci 4944e41f4b71Sopenharmony_ci## AdvertiseSetting<sup>(deprecated)</sup> 4945e41f4b71Sopenharmony_ci 4946e41f4b71Sopenharmony_ci描述蓝牙低功耗设备发送广播的参数。 4947e41f4b71Sopenharmony_ci 4948e41f4b71Sopenharmony_ci> **说明:**<br/> 4949e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.AdvertiseSetting](js-apis-bluetooth-ble.md#advertisesetting)替代。 4950e41f4b71Sopenharmony_ci 4951e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4952e41f4b71Sopenharmony_ci 4953e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4954e41f4b71Sopenharmony_ci| ----------- | ------- | ---- | ---- | ---------------------------------------- | 4955e41f4b71Sopenharmony_ci| interval | number | 是 | 是 | 表示广播间隔,最小值设置32个slot表示20ms,最大值设置16384个slot,默认值设置为1600个slot表示1s。 | 4956e41f4b71Sopenharmony_ci| txPower | number | 是 | 是 | 表示发送功率,最小值设置-127,最大值设置1,默认值设置-7,单位dbm。 | 4957e41f4b71Sopenharmony_ci| connectable | boolean | 是 | 是 | 表示是否是可连接广播,默认值设置为true。 | 4958e41f4b71Sopenharmony_ci 4959e41f4b71Sopenharmony_ci 4960e41f4b71Sopenharmony_ci## AdvertiseData<sup>(deprecated)</sup> 4961e41f4b71Sopenharmony_ci 4962e41f4b71Sopenharmony_ci描述BLE广播数据包的内容。 4963e41f4b71Sopenharmony_ci 4964e41f4b71Sopenharmony_ci> **说明:**<br/> 4965e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.AdvertiseData](js-apis-bluetooth-ble.md#advertisedata)替代。 4966e41f4b71Sopenharmony_ci 4967e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4968e41f4b71Sopenharmony_ci 4969e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4970e41f4b71Sopenharmony_ci| --------------- | ---------------------------------------- | ---- | ---- | --------------------------- | 4971e41f4b71Sopenharmony_ci| serviceUuids | Array<string> | 是 | 是 | 表示要广播的服务 UUID 列表。 | 4972e41f4b71Sopenharmony_ci| manufactureData | Array<[ManufactureData](#manufacturedatadeprecated)> | 是 | 是 | 表示要广播的广播的制造商信息列表。 | 4973e41f4b71Sopenharmony_ci| serviceData | Array<[ServiceData](#servicedatadeprecated)> | 是 | 是 | 表示要广播的服务数据列表。 | 4974e41f4b71Sopenharmony_ci 4975e41f4b71Sopenharmony_ci 4976e41f4b71Sopenharmony_ci## ManufactureData<sup>(deprecated)</sup> 4977e41f4b71Sopenharmony_ci 4978e41f4b71Sopenharmony_ci描述BLE广播数据包的内容。 4979e41f4b71Sopenharmony_ci 4980e41f4b71Sopenharmony_ci> **说明:**<br/> 4981e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.ManufactureData](js-apis-bluetooth-ble.md#manufacturedata)替代。 4982e41f4b71Sopenharmony_ci 4983e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4984e41f4b71Sopenharmony_ci 4985e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 4986e41f4b71Sopenharmony_ci| ---------------- | ------------------- | ---- | ---- | ------------------ | 4987e41f4b71Sopenharmony_ci| manufactureId | number | 是 | 是 | 表示制造商的ID,由蓝牙SIG分配。 | 4988e41f4b71Sopenharmony_ci| manufactureValue | ArrayBuffer | 是 | 是 | 表示制造商发送的制造商数据。 | 4989e41f4b71Sopenharmony_ci 4990e41f4b71Sopenharmony_ci 4991e41f4b71Sopenharmony_ci## ServiceData<sup>(deprecated)</sup> 4992e41f4b71Sopenharmony_ci 4993e41f4b71Sopenharmony_ci描述广播包中服务数据内容。 4994e41f4b71Sopenharmony_ci 4995e41f4b71Sopenharmony_ci> **说明:**<br/> 4996e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[ble.ServiceData](js-apis-bluetooth-ble.md#servicedata)替代。 4997e41f4b71Sopenharmony_ci 4998e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 4999e41f4b71Sopenharmony_ci 5000e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 5001e41f4b71Sopenharmony_ci| ------------ | ----------- | ---- | ---- | ---------- | 5002e41f4b71Sopenharmony_ci| serviceUuid | string | 是 | 是 | 表示服务的UUID。 | 5003e41f4b71Sopenharmony_ci| serviceValue | ArrayBuffer | 是 | 是 | 表示服务数据。 | 5004e41f4b71Sopenharmony_ci 5005e41f4b71Sopenharmony_ci 5006e41f4b71Sopenharmony_ci## PinRequiredParam<sup>(deprecated)</sup> 5007e41f4b71Sopenharmony_ci 5008e41f4b71Sopenharmony_ci描述配对请求参数。 5009e41f4b71Sopenharmony_ci 5010e41f4b71Sopenharmony_ci> **说明:**<br/> 5011e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.PinRequiredParam](js-apis-bluetooth-connection.md#pinrequiredparam)替代。 5012e41f4b71Sopenharmony_ci 5013e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 5014e41f4b71Sopenharmony_ci 5015e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 5016e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ---- | ----------- | 5017e41f4b71Sopenharmony_ci| deviceId | string | 是 | 否 | 表示要配对的设备ID。 | 5018e41f4b71Sopenharmony_ci| pinCode | string | 是 | 否 | 表示要配对的密钥。 | 5019e41f4b71Sopenharmony_ci 5020e41f4b71Sopenharmony_ci 5021e41f4b71Sopenharmony_ci## BondStateParam<sup>(deprecated)</sup> 5022e41f4b71Sopenharmony_ci 5023e41f4b71Sopenharmony_ci描述配对状态参数。 5024e41f4b71Sopenharmony_ci 5025e41f4b71Sopenharmony_ci> **说明:**<br/> 5026e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.BondStateParam](js-apis-bluetooth-connection.md#bondstateparam)替代。 5027e41f4b71Sopenharmony_ci 5028e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 5029e41f4b71Sopenharmony_ci 5030e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 5031e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ---- | ----------- | 5032e41f4b71Sopenharmony_ci| deviceId | string | 是 | 否 | 表示要配对的设备ID。 | 5033e41f4b71Sopenharmony_ci| state | BondState | 是 | 否 | 表示配对设备的状态。 | 5034e41f4b71Sopenharmony_ci 5035e41f4b71Sopenharmony_ci 5036e41f4b71Sopenharmony_ci## StateChangeParam<sup>(deprecated)</sup> 5037e41f4b71Sopenharmony_ci 5038e41f4b71Sopenharmony_ci描述profile状态改变参数。 5039e41f4b71Sopenharmony_ci 5040e41f4b71Sopenharmony_ci> **说明:**<br/> 5041e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[baseProfile.StateChangeParam](js-apis-bluetooth-baseProfile.md#statechangeparam)替代。 5042e41f4b71Sopenharmony_ci 5043e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 5044e41f4b71Sopenharmony_ci 5045e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 5046e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- | ---- | ---- | ------------------------------- | 5047e41f4b71Sopenharmony_ci| deviceId | string | 是 | 否 | 表示蓝牙设备地址。 | 5048e41f4b71Sopenharmony_ci| state | [ProfileConnectionState](#profileconnectionstatedeprecated) | 是 | 否 | 表示蓝牙设备的profile连接状态。 | 5049e41f4b71Sopenharmony_ci 5050e41f4b71Sopenharmony_ci 5051e41f4b71Sopenharmony_ci## DeviceClass<sup>(deprecated)</sup> 5052e41f4b71Sopenharmony_ci 5053e41f4b71Sopenharmony_ci描述蓝牙设备的类别。 5054e41f4b71Sopenharmony_ci 5055e41f4b71Sopenharmony_ci> **说明:**<br/> 5056e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[connection.DeviceClass](js-apis-bluetooth-connection.md#deviceclass)替代。 5057e41f4b71Sopenharmony_ci 5058e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 5059e41f4b71Sopenharmony_ci 5060e41f4b71Sopenharmony_ci| 名称 | 类型 | 可读 | 可写 | 说明 | 5061e41f4b71Sopenharmony_ci| --------------- | ----------------------------------- | ---- | ---- | ---------------- | 5062e41f4b71Sopenharmony_ci| majorClass | [MajorClass](#majorclassdeprecated) | 是 | 否 | 表示蓝牙设备主要类别的枚举。 | 5063e41f4b71Sopenharmony_ci| majorMinorClass | [MajorMinorClass](#majorminorclassdeprecated) | 是 | 否 | 表示主要次要蓝牙设备类别的枚举。 | 5064e41f4b71Sopenharmony_ci| classOfDevice | number | 是 | 否 | 表示设备类别。 | 5065e41f4b71Sopenharmony_ci 5066e41f4b71Sopenharmony_ci 5067e41f4b71Sopenharmony_ci## MajorClass<sup>(deprecated)</sup> 5068e41f4b71Sopenharmony_ci 5069e41f4b71Sopenharmony_ci枚举,蓝牙设备主要类别。 5070e41f4b71Sopenharmony_ci 5071e41f4b71Sopenharmony_ci> **说明:**<br/> 5072e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[constant.MajorClass](js-apis-bluetooth-constant.md#majorclass)替代。 5073e41f4b71Sopenharmony_ci 5074e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 5075e41f4b71Sopenharmony_ci 5076e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5077e41f4b71Sopenharmony_ci| ------------------- | ------ | ---------- | 5078e41f4b71Sopenharmony_ci| MAJOR_MISC | 0x0000 | 表示杂项设备。 | 5079e41f4b71Sopenharmony_ci| MAJOR_COMPUTER | 0x0100 | 表示计算机设备。 | 5080e41f4b71Sopenharmony_ci| MAJOR_PHONE | 0x0200 | 表示手机设备。 | 5081e41f4b71Sopenharmony_ci| MAJOR_NETWORKING | 0x0300 | 表示网络设备。 | 5082e41f4b71Sopenharmony_ci| MAJOR_AUDIO_VIDEO | 0x0400 | 表示音频和视频设备。 | 5083e41f4b71Sopenharmony_ci| MAJOR_PERIPHERAL | 0x0500 | 表示外围设备。 | 5084e41f4b71Sopenharmony_ci| MAJOR_IMAGING | 0x0600 | 表示成像设备。 | 5085e41f4b71Sopenharmony_ci| MAJOR_WEARABLE | 0x0700 | 表示可穿戴设备。 | 5086e41f4b71Sopenharmony_ci| MAJOR_TOY | 0x0800 | 表示玩具设备。 | 5087e41f4b71Sopenharmony_ci| MAJOR_HEALTH | 0x0900 | 表示健康设备。 | 5088e41f4b71Sopenharmony_ci| MAJOR_UNCATEGORIZED | 0x1F00 | 表示未分类设备。 | 5089e41f4b71Sopenharmony_ci 5090e41f4b71Sopenharmony_ci 5091e41f4b71Sopenharmony_ci## MajorMinorClass<sup>(deprecated)</sup> 5092e41f4b71Sopenharmony_ci 5093e41f4b71Sopenharmony_ci枚举,主要次要蓝牙设备类别。 5094e41f4b71Sopenharmony_ci 5095e41f4b71Sopenharmony_ci> **说明:**<br/> 5096e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[constant.MajorMinorClass](js-apis-bluetooth-constant.md#majorminorclass)替代。 5097e41f4b71Sopenharmony_ci 5098e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 5099e41f4b71Sopenharmony_ci 5100e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5101e41f4b71Sopenharmony_ci| ---------------------------------------- | ------ | --------------- | 5102e41f4b71Sopenharmony_ci| COMPUTER_UNCATEGORIZED | 0x0100 | 表示未分类计算机设备。 | 5103e41f4b71Sopenharmony_ci| COMPUTER_DESKTOP | 0x0104 | 表示台式计算机设备。 | 5104e41f4b71Sopenharmony_ci| COMPUTER_SERVER | 0x0108 | 表示服务器设备。 | 5105e41f4b71Sopenharmony_ci| COMPUTER_LAPTOP | 0x010C | 表示便携式计算机设备。 | 5106e41f4b71Sopenharmony_ci| COMPUTER_HANDHELD_PC_PDA | 0x0110 | 表示手持式计算机设备。 | 5107e41f4b71Sopenharmony_ci| COMPUTER_PALM_SIZE_PC_PDA | 0x0114 | 表示掌上电脑设备。 | 5108e41f4b71Sopenharmony_ci| COMPUTER_WEARABLE | 0x0118 | 表示可穿戴计算机设备。 | 5109e41f4b71Sopenharmony_ci| COMPUTER_TABLET | 0x011C | 表示平板电脑设备。 | 5110e41f4b71Sopenharmony_ci| PHONE_UNCATEGORIZED | 0x0200 | 表示未分类手机设备。 | 5111e41f4b71Sopenharmony_ci| PHONE_CELLULAR | 0x0204 | 表示便携式手机设备。 | 5112e41f4b71Sopenharmony_ci| PHONE_CORDLESS | 0x0208 | 表示无线电话设备。 | 5113e41f4b71Sopenharmony_ci| PHONE_SMART | 0x020C | 表示智能手机设备。 | 5114e41f4b71Sopenharmony_ci| PHONE_MODEM_OR_GATEWAY | 0x0210 | 表示调制解调器或网关手机设备。 | 5115e41f4b71Sopenharmony_ci| PHONE_ISDN | 0x0214 | 表示ISDN手机设备。 | 5116e41f4b71Sopenharmony_ci| NETWORK_FULLY_AVAILABLE | 0x0300 | 表示网络完全可用设备。 | 5117e41f4b71Sopenharmony_ci| NETWORK_1_TO_17_UTILIZED | 0x0320 | 表示使用网络1到17设备。 | 5118e41f4b71Sopenharmony_ci| NETWORK_17_TO_33_UTILIZED | 0x0340 | 表示使用网络17到33设备。 | 5119e41f4b71Sopenharmony_ci| NETWORK_33_TO_50_UTILIZED | 0x0360 | 表示使用网络33到50设备。 | 5120e41f4b71Sopenharmony_ci| NETWORK_60_TO_67_UTILIZED | 0x0380 | 表示使用网络60到67设备。 | 5121e41f4b71Sopenharmony_ci| NETWORK_67_TO_83_UTILIZED | 0x03A0 | 表示使用网络67到83设备。 | 5122e41f4b71Sopenharmony_ci| NETWORK_83_TO_99_UTILIZED | 0x03C0 | 表示使用网络83到99设备。 | 5123e41f4b71Sopenharmony_ci| NETWORK_NO_SERVICE | 0x03E0 | 表示网络无服务设备。 | 5124e41f4b71Sopenharmony_ci| AUDIO_VIDEO_UNCATEGORIZED | 0x0400 | 表示未分类音频视频设备。 | 5125e41f4b71Sopenharmony_ci| AUDIO_VIDEO_WEARABLE_HEADSET | 0x0404 | 表示可穿戴式音频视频设备。 | 5126e41f4b71Sopenharmony_ci| AUDIO_VIDEO_HANDSFREE | 0x0408 | 表示免提音频视频设备。 | 5127e41f4b71Sopenharmony_ci| AUDIO_VIDEO_MICROPHONE | 0x0410 | 表示麦克风音频视频设备。 | 5128e41f4b71Sopenharmony_ci| AUDIO_VIDEO_LOUDSPEAKER | 0x0414 | 表示扬声器音频视频设备。 | 5129e41f4b71Sopenharmony_ci| AUDIO_VIDEO_HEADPHONES | 0x0418 | 表示头戴式音频视频设备。 | 5130e41f4b71Sopenharmony_ci| AUDIO_VIDEO_PORTABLE_AUDIO | 0x041C | 表示便携式音频视频设备。 | 5131e41f4b71Sopenharmony_ci| AUDIO_VIDEO_CAR_AUDIO | 0x0420 | 表示汽车音频视频设备。 | 5132e41f4b71Sopenharmony_ci| AUDIO_VIDEO_SET_TOP_BOX | 0x0424 | 表示机顶盒音频视频设备。 | 5133e41f4b71Sopenharmony_ci| AUDIO_VIDEO_HIFI_AUDIO | 0x0428 | 表示高保真音响设备。 | 5134e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VCR | 0x042C | 表示录像机音频视频设备。 | 5135e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VIDEO_CAMERA | 0x0430 | 表示照相机音频视频设备。 | 5136e41f4b71Sopenharmony_ci| AUDIO_VIDEO_CAMCORDER | 0x0434 | 表示摄像机音频视频设备。 | 5137e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VIDEO_MONITOR | 0x0438 | 表示监视器音频视频设备。 | 5138e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER | 0x043C | 表示视频显示器和扬声器设备。 | 5139e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VIDEO_CONFERENCING | 0x0440 | 表示音频视频会议设备。 | 5140e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VIDEO_GAMING_TOY | 0x0448 | 表示游戏玩具音频视频设备。 | 5141e41f4b71Sopenharmony_ci| PERIPHERAL_NON_KEYBOARD_NON_POINTING | 0x0500 | 表示非键盘非指向外围设备。 | 5142e41f4b71Sopenharmony_ci| PERIPHERAL_KEYBOARD | 0x0540 | 表示外设键盘设备。 | 5143e41f4b71Sopenharmony_ci| PERIPHERAL_POINTING_DEVICE | 0x0580 | 表示定点装置外围设备。 | 5144e41f4b71Sopenharmony_ci| PERIPHERAL_KEYBOARD_POINTING | 0x05C0 | 表示键盘指向外围设备。 | 5145e41f4b71Sopenharmony_ci| PERIPHERAL_UNCATEGORIZED | 0x0500 | 表示未分类外围设备。 | 5146e41f4b71Sopenharmony_ci| PERIPHERAL_JOYSTICK | 0x0504 | 表示周边操纵杆设备。 | 5147e41f4b71Sopenharmony_ci| PERIPHERAL_GAMEPAD | 0x0508 | 表示周边游戏板设备。 | 5148e41f4b71Sopenharmony_ci| PERIPHERAL_REMOTE_CONTROL | 0x05C0 | 表示远程控制外围设备。 | 5149e41f4b71Sopenharmony_ci| PERIPHERAL_SENSING_DEVICE | 0x0510 | 表示外围传感设备设备。 | 5150e41f4b71Sopenharmony_ci| PERIPHERAL_DIGITIZER_TABLET | 0x0514 | 表示外围数字化仪平板电脑设备。 | 5151e41f4b71Sopenharmony_ci| PERIPHERAL_CARD_READER | 0x0518 | 表示外围读卡器设备。 | 5152e41f4b71Sopenharmony_ci| PERIPHERAL_DIGITAL_PEN | 0x051C | 表示外设数码笔设备。 | 5153e41f4b71Sopenharmony_ci| PERIPHERAL_SCANNER_RFID | 0x0520 | 表示射频识别扫描仪外围设备。 | 5154e41f4b71Sopenharmony_ci| PERIPHERAL_GESTURAL_INPUT | 0x0522 | 表示手势输入外围设备。 | 5155e41f4b71Sopenharmony_ci| IMAGING_UNCATEGORIZED | 0x0600 | 表示未分类的图像设备。 | 5156e41f4b71Sopenharmony_ci| IMAGING_DISPLAY | 0x0610 | 表示图像显示设备。 | 5157e41f4b71Sopenharmony_ci| IMAGING_CAMERA | 0x0620 | 表示成像照相机设备。 | 5158e41f4b71Sopenharmony_ci| IMAGING_SCANNER | 0x0640 | 表示成像扫描仪设备。 | 5159e41f4b71Sopenharmony_ci| IMAGING_PRINTER | 0x0680 | 表示成像打印机设备。 | 5160e41f4b71Sopenharmony_ci| WEARABLE_UNCATEGORIZED | 0x0700 | 表示未分类的可穿戴设备。 | 5161e41f4b71Sopenharmony_ci| WEARABLE_WRIST_WATCH | 0x0704 | 表示可穿戴腕表设备。 | 5162e41f4b71Sopenharmony_ci| WEARABLE_PAGER | 0x0708 | 表示可穿戴寻呼机设备。 | 5163e41f4b71Sopenharmony_ci| WEARABLE_JACKET | 0x070C | 表示夹克可穿戴设备。 | 5164e41f4b71Sopenharmony_ci| WEARABLE_HELMET | 0x0710 | 表示可穿戴头盔设备。 | 5165e41f4b71Sopenharmony_ci| WEARABLE_GLASSES | 0x0714 | 表示可穿戴眼镜设备。 | 5166e41f4b71Sopenharmony_ci| TOY_UNCATEGORIZED | 0x0800 | 表示未分类的玩具设备。 | 5167e41f4b71Sopenharmony_ci| TOY_ROBOT | 0x0804 | 表示玩具机器人设备。 | 5168e41f4b71Sopenharmony_ci| TOY_VEHICLE | 0x0808 | 表示玩具车设备。 | 5169e41f4b71Sopenharmony_ci| TOY_DOLL_ACTION_FIGURE | 0x080C | 表示人形娃娃玩具设备。 | 5170e41f4b71Sopenharmony_ci| TOY_CONTROLLER | 0x0810 | 表示玩具控制器设备。 | 5171e41f4b71Sopenharmony_ci| TOY_GAME | 0x0814 | 表示玩具游戏设备。 | 5172e41f4b71Sopenharmony_ci| HEALTH_UNCATEGORIZED | 0x0900 | 表示未分类健康设备。 | 5173e41f4b71Sopenharmony_ci| HEALTH_BLOOD_PRESSURE | 0x0904 | 表示血压健康设备。 | 5174e41f4b71Sopenharmony_ci| HEALTH_THERMOMETER | 0x0908 | 表示温度计健康设备。 | 5175e41f4b71Sopenharmony_ci| HEALTH_WEIGHING | 0x090C | 表示体重健康设备。 | 5176e41f4b71Sopenharmony_ci| HEALTH_GLUCOSE | 0x0910 | 表示葡萄糖健康设备。 | 5177e41f4b71Sopenharmony_ci| HEALTH_PULSE_OXIMETER | 0x0914 | 表示脉搏血氧仪健康设备。 | 5178e41f4b71Sopenharmony_ci| HEALTH_PULSE_RATE | 0x0918 | 表示脉搏率健康设备。 | 5179e41f4b71Sopenharmony_ci| HEALTH_DATA_DISPLAY | 0x091C | 表示数据显示健康设备。 | 5180e41f4b71Sopenharmony_ci| HEALTH_STEP_COUNTER | 0x0920 | 表示阶梯计数器健康设备。 | 5181e41f4b71Sopenharmony_ci| HEALTH_BODY_COMPOSITION_ANALYZER | 0x0924 | 表示身体成分分析仪健康设备。 | 5182e41f4b71Sopenharmony_ci| HEALTH_PEAK_FLOW_MONITOR | 0x0928 | 表示湿度计健康设备。 | 5183e41f4b71Sopenharmony_ci| HEALTH_MEDICATION_MONITOR | 0x092C | 表示药物监视仪健康设备。 | 5184e41f4b71Sopenharmony_ci| HEALTH_KNEE_PROSTHESIS | 0x0930 | 表示膝盖假肢健康设备。 | 5185e41f4b71Sopenharmony_ci| HEALTH_ANKLE_PROSTHESIS | 0x0934 | 表示脚踝假肢健康设备。 | 5186e41f4b71Sopenharmony_ci| HEALTH_GENERIC_HEALTH_MANAGER | 0x0938 | 表示通用健康管理设备。 | 5187e41f4b71Sopenharmony_ci| HEALTH_PERSONAL_MOBILITY_DEVICE | 0x093C | 表示个人移动健康设备。 | 5188e41f4b71Sopenharmony_ci 5189e41f4b71Sopenharmony_ci 5190e41f4b71Sopenharmony_ci## PlayingState<sup>(deprecated)</sup> 5191e41f4b71Sopenharmony_ci 5192e41f4b71Sopenharmony_ci枚举,蓝牙A2DP 播放状态。 5193e41f4b71Sopenharmony_ci 5194e41f4b71Sopenharmony_ci> **说明:**<br/> 5195e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[a2dp.PlayingState](js-apis-bluetooth-a2dp.md#playingstate)替代。 5196e41f4b71Sopenharmony_ci 5197e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 5198e41f4b71Sopenharmony_ci 5199e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5200e41f4b71Sopenharmony_ci| ----------------- | ------ | ------- | 5201e41f4b71Sopenharmony_ci| STATE_NOT_PLAYING | 0x0000 | 表示未播放。 | 5202e41f4b71Sopenharmony_ci| STATE_PLAYING | 0x0001 | 表示正在播放。 | 5203e41f4b71Sopenharmony_ci 5204e41f4b71Sopenharmony_ci 5205e41f4b71Sopenharmony_ci## ProfileId<sup>(deprecated)</sup> 5206e41f4b71Sopenharmony_ci 5207e41f4b71Sopenharmony_ci蓝牙profile枚举,API9新增PROFILE_HID_HOST,PROFILE_PAN_NETWORK。 5208e41f4b71Sopenharmony_ci 5209e41f4b71Sopenharmony_ci> **说明:**<br/> 5210e41f4b71Sopenharmony_ci> 从API version 9开始支持,从API version 10开始废弃。建议使用[constant.ProfileId](js-apis-bluetooth-constant.md#profileid)替代。 5211e41f4b71Sopenharmony_ci 5212e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Communication.Bluetooth.Core。 5213e41f4b71Sopenharmony_ci 5214e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 5215e41f4b71Sopenharmony_ci| -------------------------------- | ------ | --------------- | 5216e41f4b71Sopenharmony_ci| PROFILE_A2DP_SOURCE | 1 | 表示A2DP profile。 | 5217e41f4b71Sopenharmony_ci| PROFILE_HANDS_FREE_AUDIO_GATEWAY | 4 | 表示HFP profile。 | 5218e41f4b71Sopenharmony_ci| PROFILE_HID_HOST | 6 | 表示HID profile。 | 5219e41f4b71Sopenharmony_ci| PROFILE_PAN_NETWORK | 7 | 表示PAN profile。 | 5220