1e41f4b71Sopenharmony_ci# @ohos.bluetoothManager (Bluetooth) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciThe **Bluetooth** module provides classic Bluetooth capabilities and Bluetooth Low Energy (BLE) scan and advertising. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **NOTE** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8e41f4b71Sopenharmony_ci> - The APIs provided by this module are no longer maintained since API version 10. You are advised to use profile APIs of [@ohos.bluetooth.ble](js-apis-bluetooth-ble.md). 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci## Modules to Import 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_ciEnables Bluetooth. 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci> **NOTE**<br> 26e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [access.enableBluetooth](js-apis-bluetooth-access.md#accessenablebluetooth) instead. 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci**Error codes** 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciDisables Bluetooth. 61e41f4b71Sopenharmony_ci 62e41f4b71Sopenharmony_ci> **NOTE**<br> 63e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [access.disableBluetooth](js-apis-bluetooth-access.md#accessdisablebluetooth) instead. 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci**Error codes** 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the name of the local Bluetooth device. 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ci> **NOTE**<br> 99e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.getLocalName](js-apis-bluetooth-connection.md#connectiongetlocalname) instead. 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 102e41f4b71Sopenharmony_ci 103e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 104e41f4b71Sopenharmony_ci 105e41f4b71Sopenharmony_ci**Return value** 106e41f4b71Sopenharmony_ci 107e41f4b71Sopenharmony_ci| Type | Description | 108e41f4b71Sopenharmony_ci| ------ | --------- | 109e41f4b71Sopenharmony_ci| string | Name of the local Bluetooth device obtained.| 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci**Error codes** 112e41f4b71Sopenharmony_ci 113e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 114e41f4b71Sopenharmony_ci 115e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the Bluetooth state. 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci> **NOTE**<br> 141e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [access.getState](js-apis-bluetooth-access.md#accessgetstate) instead. 142e41f4b71Sopenharmony_ci 143e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 144e41f4b71Sopenharmony_ci 145e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 146e41f4b71Sopenharmony_ci 147e41f4b71Sopenharmony_ci**Return value** 148e41f4b71Sopenharmony_ci 149e41f4b71Sopenharmony_ci| Type | Description | 150e41f4b71Sopenharmony_ci| --------------------------------- | --------- | 151e41f4b71Sopenharmony_ci| [BluetoothState](#bluetoothstatedeprecated) | Bluetooth state obtained.| 152e41f4b71Sopenharmony_ci 153e41f4b71Sopenharmony_ci**Error codes** 154e41f4b71Sopenharmony_ci 155e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 156e41f4b71Sopenharmony_ci 157e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the local profile connection status. 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci> **NOTE**<br> 183e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.getProfileConnectionState](js-apis-bluetooth-connection.md#connectiongetprofileconnectionstate) instead. 184e41f4b71Sopenharmony_ci 185e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 186e41f4b71Sopenharmony_ci 187e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 188e41f4b71Sopenharmony_ci 189e41f4b71Sopenharmony_ci**Return value** 190e41f4b71Sopenharmony_ci 191e41f4b71Sopenharmony_ci| Type | Description | 192e41f4b71Sopenharmony_ci| ---------------------------------------- | ------------------- | 193e41f4b71Sopenharmony_ci| [ProfileConnectionState](#profileconnectionstatedeprecated) | Profile connection state obtained.| 194e41f4b71Sopenharmony_ci 195e41f4b71Sopenharmony_ci**Error codes** 196e41f4b71Sopenharmony_ci 197e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSets the name of the local Bluetooth device. 224e41f4b71Sopenharmony_ci 225e41f4b71Sopenharmony_ci> **NOTE**<br> 226e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.setLocalName](js-apis-bluetooth-connection.md#connectionsetlocalname) instead. 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 229e41f4b71Sopenharmony_ci 230e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ci**Parameters** 233e41f4b71Sopenharmony_ci 234e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 235e41f4b71Sopenharmony_ci| ---- | ------ | ---- | --------------------- | 236e41f4b71Sopenharmony_ci| name | string | Yes | Bluetooth device name to set. It cannot exceed 248 bytes.| 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ci**Error codes** 239e41f4b71Sopenharmony_ci 240e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 241e41f4b71Sopenharmony_ci 242e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciInitiates Bluetooth pairing. 268e41f4b71Sopenharmony_ci 269e41f4b71Sopenharmony_ci> **NOTE**<br> 270e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.pairDevice](js-apis-bluetooth-connection.md#connectionpairdevice) instead. 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ci**Parameters** 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 279e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ----------------------------------- | 280e41f4b71Sopenharmony_ci| deviceId | string | Yes | Address of the remote device to pair, for example, XX:XX:XX:XX:XX:XX.| 281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci**Error codes** 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 296e41f4b71Sopenharmony_ci 297e41f4b71Sopenharmony_ci```js 298e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 299e41f4b71Sopenharmony_citry { 300e41f4b71Sopenharmony_ci // The address can be scanned. 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_ciObtains the connection status of the specified profile. 313e41f4b71Sopenharmony_ci 314e41f4b71Sopenharmony_ci> **NOTE**<br> 315e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.getProfileConnectionState](js-apis-bluetooth-connection.md#connectiongetprofileconnectionstate) instead. 316e41f4b71Sopenharmony_ci 317e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 318e41f4b71Sopenharmony_ci 319e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 320e41f4b71Sopenharmony_ci 321e41f4b71Sopenharmony_ci**Parameters** 322e41f4b71Sopenharmony_ci 323e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 324e41f4b71Sopenharmony_ci| --------- | --------- | ---- | ------------------------------------- | 325e41f4b71Sopenharmony_ci| profileId | ProfileId | Yes | ID of the profile to obtain, for example, **PROFILE_A2DP_SOURCE**.| 326e41f4b71Sopenharmony_ci 327e41f4b71Sopenharmony_ci**Return value** 328e41f4b71Sopenharmony_ci 329e41f4b71Sopenharmony_ci| Type | Description | 330e41f4b71Sopenharmony_ci| ------------------------------------------------- | ------------------- | 331e41f4b71Sopenharmony_ci| [ProfileConnectionState](#profileconnectionstatedeprecated) | Profile connection state obtained.| 332e41f4b71Sopenharmony_ci 333e41f4b71Sopenharmony_ci**Error codes** 334e41f4b71Sopenharmony_ci 335e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the name of the remote Bluetooth device. 365e41f4b71Sopenharmony_ci 366e41f4b71Sopenharmony_ci> **NOTE**<br> 367e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.getRemoteDeviceName](js-apis-bluetooth-connection.md#connectiongetremotedevicename) instead. 368e41f4b71Sopenharmony_ci 369e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 370e41f4b71Sopenharmony_ci 371e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 372e41f4b71Sopenharmony_ci 373e41f4b71Sopenharmony_ci**Parameters** 374e41f4b71Sopenharmony_ci 375e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 376e41f4b71Sopenharmony_ci| -------- | ------ | ---- | --------------------------------- | 377e41f4b71Sopenharmony_ci| deviceId | string | Yes | Address of the target remote device, for example, XX:XX:XX:XX:XX:XX.| 378e41f4b71Sopenharmony_ci 379e41f4b71Sopenharmony_ci**Return value** 380e41f4b71Sopenharmony_ci 381e41f4b71Sopenharmony_ci| Type | Description | 382e41f4b71Sopenharmony_ci| ------ | ------------- | 383e41f4b71Sopenharmony_ci| string | Device name (a string) obtained.| 384e41f4b71Sopenharmony_ci 385e41f4b71Sopenharmony_ci**Error codes** 386e41f4b71Sopenharmony_ci 387e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 388e41f4b71Sopenharmony_ci 389e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the class of the remote Bluetooth device. 415e41f4b71Sopenharmony_ci 416e41f4b71Sopenharmony_ci> **NOTE**<br> 417e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.getRemoteDeviceClass](js-apis-bluetooth-connection.md#connectiongetremotedeviceclass) instead. 418e41f4b71Sopenharmony_ci 419e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 420e41f4b71Sopenharmony_ci 421e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 422e41f4b71Sopenharmony_ci 423e41f4b71Sopenharmony_ci**Parameters** 424e41f4b71Sopenharmony_ci 425e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 426e41f4b71Sopenharmony_ci| -------- | ------ | ---- | --------------------------------- | 427e41f4b71Sopenharmony_ci| deviceId | string | Yes | Address of the target remote device, for example, XX:XX:XX:XX:XX:XX.| 428e41f4b71Sopenharmony_ci 429e41f4b71Sopenharmony_ci**Return value** 430e41f4b71Sopenharmony_ci 431e41f4b71Sopenharmony_ci| Type | Description | 432e41f4b71Sopenharmony_ci| --------------------------- | -------- | 433e41f4b71Sopenharmony_ci| [DeviceClass](#deviceclassdeprecated) | Class of the remote device obtained.| 434e41f4b71Sopenharmony_ci 435e41f4b71Sopenharmony_ci**Error codes** 436e41f4b71Sopenharmony_ci 437e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the paired devices. 465e41f4b71Sopenharmony_ci 466e41f4b71Sopenharmony_ci> **NOTE**<br> 467e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.getPairedDevices](js-apis-bluetooth-connection.md#connectiongetpaireddevices) instead. 468e41f4b71Sopenharmony_ci 469e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 470e41f4b71Sopenharmony_ci 471e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 472e41f4b71Sopenharmony_ci 473e41f4b71Sopenharmony_ci**Return value** 474e41f4b71Sopenharmony_ci 475e41f4b71Sopenharmony_ci| Type | Description | 476e41f4b71Sopenharmony_ci| ------------------- | ------------- | 477e41f4b71Sopenharmony_ci| Array<string> | Addresses of the paired Bluetooth devices.| 478e41f4b71Sopenharmony_ci 479e41f4b71Sopenharmony_ci**Error codes** 480e41f4b71Sopenharmony_ci 481e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 482e41f4b71Sopenharmony_ci 483e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSets the Bluetooth scan mode so that the device can be discovered by a remote device. 508e41f4b71Sopenharmony_ci 509e41f4b71Sopenharmony_ci> **NOTE**<br> 510e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.setBluetoothScanMode](js-apis-bluetooth-connection.md#connectionsetbluetoothscanmode) instead. 511e41f4b71Sopenharmony_ci 512e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 513e41f4b71Sopenharmony_ci 514e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 515e41f4b71Sopenharmony_ci 516e41f4b71Sopenharmony_ci**Parameters** 517e41f4b71Sopenharmony_ci 518e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 519e41f4b71Sopenharmony_ci| -------- | --------------------- | ---- | ---------------------------- | 520e41f4b71Sopenharmony_ci| mode | [ScanMode](#scanmodedeprecated) | Yes | Bluetooth scan mode to set. | 521e41f4b71Sopenharmony_ci| duration | number | Yes | Duration (in ms) in which the device can be discovered. The value **0** indicates unlimited time.| 522e41f4b71Sopenharmony_ci 523e41f4b71Sopenharmony_ci**Error codes** 524e41f4b71Sopenharmony_ci 525e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 526e41f4b71Sopenharmony_ci 527e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 537e41f4b71Sopenharmony_ci 538e41f4b71Sopenharmony_ci```js 539e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 540e41f4b71Sopenharmony_citry { 541e41f4b71Sopenharmony_ci // The device can be discovered and connected only when the discoverable and connectable mode is used. 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_ciObtains the Bluetooth scan mode. 554e41f4b71Sopenharmony_ci 555e41f4b71Sopenharmony_ci> **NOTE**<br> 556e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.getBluetoothScanMode](js-apis-bluetooth-connection.md#connectiongetbluetoothscanmode) instead. 557e41f4b71Sopenharmony_ci 558e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 559e41f4b71Sopenharmony_ci 560e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 561e41f4b71Sopenharmony_ci 562e41f4b71Sopenharmony_ci**Return value** 563e41f4b71Sopenharmony_ci 564e41f4b71Sopenharmony_ci| Type | Description | 565e41f4b71Sopenharmony_ci| --------------------- | ------- | 566e41f4b71Sopenharmony_ci| [ScanMode](#scanmodedeprecated) | Bluetooth scan mode to set.| 567e41f4b71Sopenharmony_ci 568e41f4b71Sopenharmony_ci**Error codes** 569e41f4b71Sopenharmony_ci 570e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 571e41f4b71Sopenharmony_ci 572e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciStarts Bluetooth scan to discover remote devices. 597e41f4b71Sopenharmony_ci 598e41f4b71Sopenharmony_ci> **NOTE**<br> 599e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.startBluetoothDiscovery](js-apis-bluetooth-connection.md#connectionstartbluetoothdiscovery) instead. 600e41f4b71Sopenharmony_ci 601e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 602e41f4b71Sopenharmony_ci 603e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 604e41f4b71Sopenharmony_ci 605e41f4b71Sopenharmony_ci**Error codes** 606e41f4b71Sopenharmony_ci 607e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 608e41f4b71Sopenharmony_ci 609e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciStops Bluetooth scan. 639e41f4b71Sopenharmony_ci 640e41f4b71Sopenharmony_ci> **NOTE**<br> 641e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.stopBluetoothDiscovery](js-apis-bluetooth-connection.md#connectionstopbluetoothdiscovery) instead. 642e41f4b71Sopenharmony_ci 643e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 644e41f4b71Sopenharmony_ci 645e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 646e41f4b71Sopenharmony_ci 647e41f4b71Sopenharmony_ci**Error codes** 648e41f4b71Sopenharmony_ci 649e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 650e41f4b71Sopenharmony_ci 651e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSets the device pairing confirmation. 676e41f4b71Sopenharmony_ci 677e41f4b71Sopenharmony_ci> **NOTE**<br> 678e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.setDevicePairingConfirmation](js-apis-bluetooth-connection.md#connectionsetdevicepairingconfirmation) instead. 679e41f4b71Sopenharmony_ci 680e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH (available only for system applications) 681e41f4b71Sopenharmony_ci 682e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 683e41f4b71Sopenharmony_ci 684e41f4b71Sopenharmony_ci**Parameters** 685e41f4b71Sopenharmony_ci 686e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 687e41f4b71Sopenharmony_ci| ------ | ------- | ---- | -------------------------------- | 688e41f4b71Sopenharmony_ci| device | string | Yes | Address of the remote device, for example, XX:XX:XX:XX:XX:XX.| 689e41f4b71Sopenharmony_ci| accept | boolean | Yes | Whether to accept the pairing request. The value **true** means to accept the pairing request, and the value **false** means the opposite. | 690e41f4b71Sopenharmony_ci 691e41f4b71Sopenharmony_ci**Error codes** 692e41f4b71Sopenharmony_ci 693e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 694e41f4b71Sopenharmony_ci 695e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 705e41f4b71Sopenharmony_ci 706e41f4b71Sopenharmony_ci```js 707e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 708e41f4b71Sopenharmony_ci// Subscribe to the pinRequired event and configure the pairing confirmation after receiving a pairing request from the remote device. 709e41f4b71Sopenharmony_cifunction onReceivePinRequiredEvent(data: bluetoothManager.PinRequiredParam) { // data is the input parameter for the pairing request. 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_ciSubscribes to the Bluetooth device discovery events. 726e41f4b71Sopenharmony_ci 727e41f4b71Sopenharmony_ci> **NOTE**<br> 728e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.on('bluetoothDeviceFind')](js-apis-bluetooth-connection.md#connectiononbluetoothdevicefind) instead. 729e41f4b71Sopenharmony_ci 730e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 731e41f4b71Sopenharmony_ci 732e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 733e41f4b71Sopenharmony_ci 734e41f4b71Sopenharmony_ci**Parameters** 735e41f4b71Sopenharmony_ci 736e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 737e41f4b71Sopenharmony_ci| -------- | ----------------------------------- | ---- | -------------------------------------- | 738e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **bluetoothDeviceFind** indicates an event reported when a Bluetooth device is discovered.| 739e41f4b71Sopenharmony_ci| callback | Callback<Array<string>> | Yes | Callback used to return the discovered devices. You need to implement this callback. | 740e41f4b71Sopenharmony_ci 741e41f4b71Sopenharmony_ci**Error codes** 742e41f4b71Sopenharmony_ci 743e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 744e41f4b71Sopenharmony_ci 745e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 753e41f4b71Sopenharmony_ci 754e41f4b71Sopenharmony_ci```js 755e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 756e41f4b71Sopenharmony_cifunction onReceiveEvent(data: Array<string>) { // data is an array of Bluetooth device addresses. 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_ciUnsubscribes from the Bluetooth device discovery events. 772e41f4b71Sopenharmony_ci 773e41f4b71Sopenharmony_ci> **NOTE**<br> 774e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.off('bluetoothDeviceFind')](js-apis-bluetooth-connection.md#connectionoffbluetoothdevicefind) instead. 775e41f4b71Sopenharmony_ci 776e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 777e41f4b71Sopenharmony_ci 778e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 779e41f4b71Sopenharmony_ci 780e41f4b71Sopenharmony_ci**Parameters** 781e41f4b71Sopenharmony_ci 782e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 783e41f4b71Sopenharmony_ci| -------- | ----------------------------------- | ---- | ---------------------------------------- | 784e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **bluetoothDeviceFind** indicates an event reported when a Bluetooth device is discovered. | 785e41f4b71Sopenharmony_ci| callback | Callback<Array<string>> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 786e41f4b71Sopenharmony_ci 787e41f4b71Sopenharmony_ci**Error codes** 788e41f4b71Sopenharmony_ci 789e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 790e41f4b71Sopenharmony_ci 791e41f4b71Sopenharmony_ci| ID| Error Message| 792e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 793e41f4b71Sopenharmony_ci|201 | Permission denied. | 794e41f4b71Sopenharmony_ci|801 | Capability not supported. | 795e41f4b71Sopenharmony_ci|2900099 | Operation failed. | 796e41f4b71Sopenharmony_ci 797e41f4b71Sopenharmony_ci**Example** 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_ciSubscribes to the pairing request events of the remote Bluetooth device. 818e41f4b71Sopenharmony_ci 819e41f4b71Sopenharmony_ci> **NOTE**<br> 820e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.on('pinRequired')](js-apis-bluetooth-connection.md#connectiononpinrequired) instead. 821e41f4b71Sopenharmony_ci 822e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 823e41f4b71Sopenharmony_ci 824e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 825e41f4b71Sopenharmony_ci 826e41f4b71Sopenharmony_ci**Parameters** 827e41f4b71Sopenharmony_ci 828e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 829e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | -------------------------------- | 830e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **pinRequired** indicates a pairing request event. | 831e41f4b71Sopenharmony_ci| callback | Callback<[PinRequiredParam](#pinrequiredparamdeprecated)> | Yes | Callback used to return the pairing request. You need to implement this callback.| 832e41f4b71Sopenharmony_ci 833e41f4b71Sopenharmony_ci**Error codes** 834e41f4b71Sopenharmony_ci 835e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 836e41f4b71Sopenharmony_ci 837e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 845e41f4b71Sopenharmony_ci 846e41f4b71Sopenharmony_ci```js 847e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 848e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.PinRequiredParam) { // data is the pairing request parameter. 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_ciUnsubscribes from the pairing request events of the remote Bluetooth device. 864e41f4b71Sopenharmony_ci 865e41f4b71Sopenharmony_ci> **NOTE**<br> 866e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.off('pinRequired')](js-apis-bluetooth-connection.md#connectionoffpinrequired) instead. 867e41f4b71Sopenharmony_ci 868e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 869e41f4b71Sopenharmony_ci 870e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 871e41f4b71Sopenharmony_ci 872e41f4b71Sopenharmony_ci**Parameters** 873e41f4b71Sopenharmony_ci 874e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 875e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 876e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **pinRequired** indicates a pairing request event. | 877e41f4b71Sopenharmony_ci| callback | Callback<[PinRequiredParam](#pinrequiredparamdeprecated)> | No | Callback to unregister. The input parameter is the pairing request parameter. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 878e41f4b71Sopenharmony_ci 879e41f4b71Sopenharmony_ci**Error codes** 880e41f4b71Sopenharmony_ci 881e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 882e41f4b71Sopenharmony_ci 883e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSubscribes to the Bluetooth pairing state changes. 911e41f4b71Sopenharmony_ci 912e41f4b71Sopenharmony_ci> **NOTE**<br> 913e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.on('bondStateChange')](js-apis-bluetooth-connection.md#connectiononbondstatechange) instead. 914e41f4b71Sopenharmony_ci 915e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 916e41f4b71Sopenharmony_ci 917e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 918e41f4b71Sopenharmony_ci 919e41f4b71Sopenharmony_ci**Parameters** 920e41f4b71Sopenharmony_ci 921e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 922e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ------------------------------------ | 923e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **bondStateChange** indicates a Bluetooth pairing state change event.| 924e41f4b71Sopenharmony_ci| callback | Callback<[BondStateParam](#bondstateparamdeprecated)> | Yes | Callback used to return the pairing state. You need to implement this callback. | 925e41f4b71Sopenharmony_ci 926e41f4b71Sopenharmony_ci**Error codes** 927e41f4b71Sopenharmony_ci 928e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 929e41f4b71Sopenharmony_ci 930e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 938e41f4b71Sopenharmony_ci 939e41f4b71Sopenharmony_ci```js 940e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 941e41f4b71Sopenharmony_cifunction onReceiveEvent(data: bluetoothManager.BondStateParam) { // data, as the input parameter of the callback, indicates the pairing state. 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_ciUnsubscribes from the Bluetooth pairing state changes. 957e41f4b71Sopenharmony_ci 958e41f4b71Sopenharmony_ci> **NOTE**<br> 959e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.off('bondStateChange')](js-apis-bluetooth-connection.md#connectionoffbondstatechange) instead. 960e41f4b71Sopenharmony_ci 961e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 962e41f4b71Sopenharmony_ci 963e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 964e41f4b71Sopenharmony_ci 965e41f4b71Sopenharmony_ci**Parameters** 966e41f4b71Sopenharmony_ci 967e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 968e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 969e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **bondStateChange** indicates a Bluetooth pairing state change event. | 970e41f4b71Sopenharmony_ci| callback | Callback<[BondStateParam](#bondstateparamdeprecated)> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 971e41f4b71Sopenharmony_ci 972e41f4b71Sopenharmony_ci**Error codes** 973e41f4b71Sopenharmony_ci 974e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 975e41f4b71Sopenharmony_ci 976e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSubscribes to Bluetooth state events. 1004e41f4b71Sopenharmony_ci 1005e41f4b71Sopenharmony_ci> **NOTE**<br> 1006e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [access.on('stateChange')](js-apis-bluetooth-access.md#accessonstatechange) instead. 1007e41f4b71Sopenharmony_ci 1008e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1009e41f4b71Sopenharmony_ci 1010e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1011e41f4b71Sopenharmony_ci 1012e41f4b71Sopenharmony_ci**Parameters** 1013e41f4b71Sopenharmony_ci 1014e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1015e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | -------------------------------- | 1016e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **stateChange** indicates a Bluetooth connection state change event. | 1017e41f4b71Sopenharmony_ci| callback | Callback<[BluetoothState](#bluetoothstatedeprecated)> | Yes | Callback used to return the Bluetooth connection state. You need to implement this callback.| 1018e41f4b71Sopenharmony_ci 1019e41f4b71Sopenharmony_ci**Error codes** 1020e41f4b71Sopenharmony_ci 1021e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1022e41f4b71Sopenharmony_ci 1023e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from Bluetooth state events. 1050e41f4b71Sopenharmony_ci 1051e41f4b71Sopenharmony_ci> **NOTE**<br> 1052e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [access.off('stateChange')](js-apis-bluetooth-access.md#accessoffstatechange) instead. 1053e41f4b71Sopenharmony_ci 1054e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1055e41f4b71Sopenharmony_ci 1056e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1057e41f4b71Sopenharmony_ci 1058e41f4b71Sopenharmony_ci**Parameters** 1059e41f4b71Sopenharmony_ci 1060e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1061e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 1062e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **stateChange** indicates a Bluetooth connection state change event. | 1063e41f4b71Sopenharmony_ci| callback | Callback<[BluetoothState](#bluetoothstatedeprecated)> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 1064e41f4b71Sopenharmony_ci 1065e41f4b71Sopenharmony_ci**Error codes** 1066e41f4b71Sopenharmony_ci 1067e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1068e41f4b71Sopenharmony_ci 1069e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciCreates a server listening socket. 1097e41f4b71Sopenharmony_ci 1098e41f4b71Sopenharmony_ci> **NOTE**<br> 1099e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [socket.sppListen](js-apis-bluetooth-socket.md#socketspplisten) instead. 1100e41f4b71Sopenharmony_ci 1101e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1102e41f4b71Sopenharmony_ci 1103e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1104e41f4b71Sopenharmony_ci 1105e41f4b71Sopenharmony_ci**Parameters** 1106e41f4b71Sopenharmony_ci 1107e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1108e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ----------------------- | 1109e41f4b71Sopenharmony_ci| name | string | Yes | Name of the service. | 1110e41f4b71Sopenharmony_ci| option | [SppOption](#sppoptiondeprecated) | Yes | Serial port profile (SPP) listening configuration. | 1111e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | Yes | Callback used to return the server socket ID.| 1112e41f4b71Sopenharmony_ci 1113e41f4b71Sopenharmony_ci**Error codes** 1114e41f4b71Sopenharmony_ci 1115e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1116e41f4b71Sopenharmony_ci 1117e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciListens for a connection to be made to this socket from the client and accepts it. 1154e41f4b71Sopenharmony_ci 1155e41f4b71Sopenharmony_ci> **NOTE**<br> 1156e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [socket.sppAccept](js-apis-bluetooth-socket.md#socketsppaccept) instead. 1157e41f4b71Sopenharmony_ci 1158e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1159e41f4b71Sopenharmony_ci 1160e41f4b71Sopenharmony_ci**Parameters** 1161e41f4b71Sopenharmony_ci 1162e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1163e41f4b71Sopenharmony_ci| ------------ | --------------------------- | ---- | ----------------------- | 1164e41f4b71Sopenharmony_ci| serverSocket | number | Yes | Server socket ID. | 1165e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | Yes | Callback used to return the client socket ID.| 1166e41f4b71Sopenharmony_ci 1167e41f4b71Sopenharmony_ci**Error codes** 1168e41f4b71Sopenharmony_ci 1169e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1170e41f4b71Sopenharmony_ci 1171e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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 // The obtained clientNumber is used as the socket ID for subsequent read/write operations on the server. 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_ciInitiates an SPP connection to a remote device from the client. 1214e41f4b71Sopenharmony_ci 1215e41f4b71Sopenharmony_ci> **NOTE**<br> 1216e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [socket.sppConnect](js-apis-bluetooth-socket.md#socketsppconnect) instead. 1217e41f4b71Sopenharmony_ci 1218e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1219e41f4b71Sopenharmony_ci 1220e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1221e41f4b71Sopenharmony_ci 1222e41f4b71Sopenharmony_ci**Parameters** 1223e41f4b71Sopenharmony_ci 1224e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1225e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ------------------------------ | 1226e41f4b71Sopenharmony_ci| device | string | Yes | Address of the remote device, for example, XX:XX:XX:XX:XX:XX.| 1227e41f4b71Sopenharmony_ci| option | [SppOption](#sppoptiondeprecated) | Yes | Configuration for connecting to the SPP client. | 1228e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | Yes | Callback used to return the client socket ID. | 1229e41f4b71Sopenharmony_ci 1230e41f4b71Sopenharmony_ci**Error codes** 1231e41f4b71Sopenharmony_ci 1232e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1233e41f4b71Sopenharmony_ci 1234e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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 // The obtained clientNumber is used as the socket ID for subsequent read/write operations on the client. 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_ciCloses the listening socket of the server. 1272e41f4b71Sopenharmony_ci 1273e41f4b71Sopenharmony_ci> **NOTE**<br> 1274e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [socket.sppCloseServerSocket](js-apis-bluetooth-socket.md#socketsppcloseserversocket) instead. 1275e41f4b71Sopenharmony_ci 1276e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1277e41f4b71Sopenharmony_ci 1278e41f4b71Sopenharmony_ci**Parameters** 1279e41f4b71Sopenharmony_ci 1280e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1281e41f4b71Sopenharmony_ci| ------ | ------ | ---- | --------------- | 1282e41f4b71Sopenharmony_ci| socket | number | Yes | ID of the listening socket on the server. The ID is obtained by **sppListen**.| 1283e41f4b71Sopenharmony_ci 1284e41f4b71Sopenharmony_ci**Error codes** 1285e41f4b71Sopenharmony_ci 1286e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1287e41f4b71Sopenharmony_ci 1288e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciCloses the client socket. 1320e41f4b71Sopenharmony_ci 1321e41f4b71Sopenharmony_ci> **NOTE**<br> 1322e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [socket.sppCloseClientSocket](js-apis-bluetooth-socket.md#socketsppcloseclientsocket) instead. 1323e41f4b71Sopenharmony_ci 1324e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1325e41f4b71Sopenharmony_ci 1326e41f4b71Sopenharmony_ci**Parameters** 1327e41f4b71Sopenharmony_ci 1328e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1329e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------- | 1330e41f4b71Sopenharmony_ci| socket | number | Yes | Client socket ID, which is obtained by **sppAccept** or **sppConnect**.| 1331e41f4b71Sopenharmony_ci 1332e41f4b71Sopenharmony_ci**Error codes** 1333e41f4b71Sopenharmony_ci 1334e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1335e41f4b71Sopenharmony_ci 1336e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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 // The obtained clientNumber is used as the socket ID for subsequent read/write operations on the client. 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_ciWrites data to the remote device through the socket. 1369e41f4b71Sopenharmony_ci 1370e41f4b71Sopenharmony_ci> **NOTE**<br> 1371e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [socket.sppWrite](js-apis-bluetooth-socket.md#socketsppwrite) instead. 1372e41f4b71Sopenharmony_ci 1373e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1374e41f4b71Sopenharmony_ci 1375e41f4b71Sopenharmony_ci**Parameters** 1376e41f4b71Sopenharmony_ci 1377e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1378e41f4b71Sopenharmony_ci| ------------ | ----------- | ---- | ------------- | 1379e41f4b71Sopenharmony_ci| clientSocket | number | Yes | Client socket ID, which is obtained by **sppAccept** or **sppConnect**.| 1380e41f4b71Sopenharmony_ci| data | ArrayBuffer | Yes | Data to write. | 1381e41f4b71Sopenharmony_ci 1382e41f4b71Sopenharmony_ci**Error codes** 1383e41f4b71Sopenharmony_ci 1384e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1385e41f4b71Sopenharmony_ci 1386e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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 // The obtained clientNumber is used as the socket ID for subsequent read/write operations on the client. 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_ciSubscribes to the SPP read request events. 1422e41f4b71Sopenharmony_ci 1423e41f4b71Sopenharmony_ci> **NOTE**<br> 1424e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [socket.on('sppRead')](js-apis-bluetooth-socket.md#socketonsppread) instead. 1425e41f4b71Sopenharmony_ci 1426e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1427e41f4b71Sopenharmony_ci 1428e41f4b71Sopenharmony_ci**Parameters** 1429e41f4b71Sopenharmony_ci 1430e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1431e41f4b71Sopenharmony_ci| ------------ | --------------------------- | ---- | -------------------------- | 1432e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **sppRead** indicates an SPP read request event.| 1433e41f4b71Sopenharmony_ci| clientSocket | number | Yes | Client socket ID, which is obtained by **sppAccept** or **sppConnect**. | 1434e41f4b71Sopenharmony_ci| callback | Callback<ArrayBuffer> | Yes | Callback used to return the data read. | 1435e41f4b71Sopenharmony_ci 1436e41f4b71Sopenharmony_ci**Error codes** 1437e41f4b71Sopenharmony_ci 1438e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1439e41f4b71Sopenharmony_ci 1440e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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 // The obtained clientNumber is used as the socket ID for subsequent read/write operations on the client. 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_ciUnsubscribes from the SPP read request events. 1477e41f4b71Sopenharmony_ci 1478e41f4b71Sopenharmony_ci> **NOTE**<br> 1479e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [socket.off('sppRead')](js-apis-bluetooth-socket.md#socketoffsppread) instead. 1480e41f4b71Sopenharmony_ci 1481e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1482e41f4b71Sopenharmony_ci 1483e41f4b71Sopenharmony_ci**Parameters** 1484e41f4b71Sopenharmony_ci 1485e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1486e41f4b71Sopenharmony_ci| ------------ | --------------------------- | ---- | ---------------------------------------- | 1487e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **sppRead** indicates an SPP read request event. | 1488e41f4b71Sopenharmony_ci| clientSocket | number | Yes | Client socket ID, which is obtained by **sppAccept** or **sppConnect**. | 1489e41f4b71Sopenharmony_ci| callback | Callback<ArrayBuffer> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 1490e41f4b71Sopenharmony_ci 1491e41f4b71Sopenharmony_ci**Error codes** 1492e41f4b71Sopenharmony_ci 1493e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1494e41f4b71Sopenharmony_ci 1495e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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 // The obtained clientNumber is used as the socket ID for subsequent read/write operations on the client. 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_ciObtains a profile instance. API version 9 is added with **HidHostProfile** and **PanProfile**. 1525e41f4b71Sopenharmony_ci 1526e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1527e41f4b71Sopenharmony_ci 1528e41f4b71Sopenharmony_ci**Parameters** 1529e41f4b71Sopenharmony_ci 1530e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1531e41f4b71Sopenharmony_ci| --------- | --------- | ---- | ------------------------------------- | 1532e41f4b71Sopenharmony_ci| profileId | [ProfileId](#profileiddeprecated) | Yes | ID of the profile to obtain, for example, **PROFILE_A2DP_SOURCE**.| 1533e41f4b71Sopenharmony_ci 1534e41f4b71Sopenharmony_ci**Return value** 1535e41f4b71Sopenharmony_ci 1536e41f4b71Sopenharmony_ci| Type | Description | 1537e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | ------------------------------------------------------------ | 1538e41f4b71Sopenharmony_ci| [A2dpSourceProfile](#a2dpsourceprofile), [HandsFreeAudioGatewayProfile](#handsfreeaudiogatewayprofiledeprecated), [HidHostProfile](#hidhostprofiledeprecated), or [PanProfile](#panprofile)| Profile instance obtained, which can be **A2dpSourceProfile**, **HandsFreeAudioGatewayProfile**, **HidHostProfile**, or **PanProfile**.| 1539e41f4b71Sopenharmony_ci 1540e41f4b71Sopenharmony_ci**Error codes** 1541e41f4b71Sopenharmony_ci 1542e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1543e41f4b71Sopenharmony_ci 1544e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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## bluetoothManager.BLE 1562e41f4b71Sopenharmony_ci 1563e41f4b71Sopenharmony_ciProvides APIs for operating and managing Bluetooth. 1564e41f4b71Sopenharmony_ci 1565e41f4b71Sopenharmony_ci### createGattServer<sup>(deprecated)</sup> 1566e41f4b71Sopenharmony_ci 1567e41f4b71Sopenharmony_cicreateGattServer(): GattServer 1568e41f4b71Sopenharmony_ci 1569e41f4b71Sopenharmony_ciCreates a **GattServer** instance. 1570e41f4b71Sopenharmony_ci 1571e41f4b71Sopenharmony_ci> **NOTE**<br> 1572e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.createGattServer](js-apis-bluetooth-ble.md#blecreategattserver) instead. 1573e41f4b71Sopenharmony_ci 1574e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1575e41f4b71Sopenharmony_ci 1576e41f4b71Sopenharmony_ci**Return value** 1577e41f4b71Sopenharmony_ci 1578e41f4b71Sopenharmony_ci| Type | Description | 1579e41f4b71Sopenharmony_ci| ------------------------- | ------------------------------------ | 1580e41f4b71Sopenharmony_ci| [GattServer](#gattserver) | **GattServer** instance created. Before using an API of this class, you must create a **GattSever** instance.| 1581e41f4b71Sopenharmony_ci 1582e41f4b71Sopenharmony_ci**Example** 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_ciCreates a **GattClientDevice** instance. 1594e41f4b71Sopenharmony_ci 1595e41f4b71Sopenharmony_ci> **NOTE**<br> 1596e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.createGattClientDevice](js-apis-bluetooth-ble.md#blecreategattclientdevice) instead. 1597e41f4b71Sopenharmony_ci 1598e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1599e41f4b71Sopenharmony_ci 1600e41f4b71Sopenharmony_ci**Parameters** 1601e41f4b71Sopenharmony_ci 1602e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1603e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ------------------------------------ | 1604e41f4b71Sopenharmony_ci| deviceId | string | Yes | Address of the remote device, for example, XX:XX:XX:XX:XX:XX.| 1605e41f4b71Sopenharmony_ci 1606e41f4b71Sopenharmony_ci**Return value** 1607e41f4b71Sopenharmony_ci 1608e41f4b71Sopenharmony_ci| Type | Description | 1609e41f4b71Sopenharmony_ci| ------------------------------------- | ------------------------------------ | 1610e41f4b71Sopenharmony_ci| [GattClientDevice](#gattclientdevice) | **GattClientDevice** instance created. Before using an API of the client, you must create a **GattClientDevice** instance.| 1611e41f4b71Sopenharmony_ci 1612e41f4b71Sopenharmony_ci**Error codes** 1613e41f4b71Sopenharmony_ci 1614e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1615e41f4b71Sopenharmony_ci 1616e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the BLE devices connected to this device. 1638e41f4b71Sopenharmony_ci 1639e41f4b71Sopenharmony_ci> **NOTE**<br> 1640e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.getConnectedBLEDevices](js-apis-bluetooth-ble.md#blegetconnectedbledevices) instead. 1641e41f4b71Sopenharmony_ci 1642e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1643e41f4b71Sopenharmony_ci 1644e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1645e41f4b71Sopenharmony_ci 1646e41f4b71Sopenharmony_ci**Return value** 1647e41f4b71Sopenharmony_ci 1648e41f4b71Sopenharmony_ci| Type | Description | 1649e41f4b71Sopenharmony_ci| ------------------- | ------------------- | 1650e41f4b71Sopenharmony_ci| Array<string> | Addresses of the BLE devices connected to this device.| 1651e41f4b71Sopenharmony_ci 1652e41f4b71Sopenharmony_ci**Error codes** 1653e41f4b71Sopenharmony_ci 1654e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1655e41f4b71Sopenharmony_ci 1656e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciStarts a BLE scan. 1681e41f4b71Sopenharmony_ci 1682e41f4b71Sopenharmony_ci> **NOTE**<br> 1683e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.startBLEScan](js-apis-bluetooth-ble.md#blestartblescan) instead. 1684e41f4b71Sopenharmony_ci 1685e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1686e41f4b71Sopenharmony_ci 1687e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1688e41f4b71Sopenharmony_ci 1689e41f4b71Sopenharmony_ci**Parameters** 1690e41f4b71Sopenharmony_ci 1691e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1692e41f4b71Sopenharmony_ci| ------- | -------------------------------------- | ---- | ----------------------------------- | 1693e41f4b71Sopenharmony_ci| filters | Array<[ScanFilter](#scanfilterdeprecated)> | Yes | Criteria for filtering the scan result. Set this parameter to **null** if you do not want to filter the scan result.| 1694e41f4b71Sopenharmony_ci| options | [ScanOptions](#scanoptionsdeprecated) | No | Scan options. | 1695e41f4b71Sopenharmony_ci 1696e41f4b71Sopenharmony_ci**Error codes** 1697e41f4b71Sopenharmony_ci 1698e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1699e41f4b71Sopenharmony_ci 1700e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciStops the BLE scan. 1740e41f4b71Sopenharmony_ci 1741e41f4b71Sopenharmony_ci> **NOTE**<br> 1742e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.startBLEScan](js-apis-bluetooth-ble.md#blestopblescan) instead. 1743e41f4b71Sopenharmony_ci 1744e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1745e41f4b71Sopenharmony_ci 1746e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1747e41f4b71Sopenharmony_ci 1748e41f4b71Sopenharmony_ci**Error codes** 1749e41f4b71Sopenharmony_ci 1750e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1751e41f4b71Sopenharmony_ci 1752e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSubscribe to the BLE device discovery events. 1777e41f4b71Sopenharmony_ci 1778e41f4b71Sopenharmony_ci> **NOTE**<br> 1779e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.on('BLEDeviceFind')](js-apis-bluetooth-ble.md#bleonbledevicefind) instead. 1780e41f4b71Sopenharmony_ci 1781e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1782e41f4b71Sopenharmony_ci 1783e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1784e41f4b71Sopenharmony_ci 1785e41f4b71Sopenharmony_ci**Parameters** 1786e41f4b71Sopenharmony_ci 1787e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1788e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ----------------------------------- | 1789e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **BLEDeviceFind** indicates an event reported when a BLE device is discovered. | 1790e41f4b71Sopenharmony_ci| callback | Callback<Array<[ScanResult](#scanresultdeprecated)>> | Yes | Callback used to return the discovered devices. You need to implement this callback.| 1791e41f4b71Sopenharmony_ci 1792e41f4b71Sopenharmony_ci**Error codes** 1793e41f4b71Sopenharmony_ci 1794e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1795e41f4b71Sopenharmony_ci 1796e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from the BLE device discovery events. 1823e41f4b71Sopenharmony_ci 1824e41f4b71Sopenharmony_ci> **NOTE**<br> 1825e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.off('BLEDeviceFind')](js-apis-bluetooth-ble.md#bleoffbledevicefind) instead. 1826e41f4b71Sopenharmony_ci 1827e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1828e41f4b71Sopenharmony_ci 1829e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1830e41f4b71Sopenharmony_ci 1831e41f4b71Sopenharmony_ci**Parameters** 1832e41f4b71Sopenharmony_ci 1833e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1834e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 1835e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **BLEDeviceFind** indicates an event reported when a BLE device is discovered. | 1836e41f4b71Sopenharmony_ci| callback | Callback<Array<[ScanResult](#scanresultdeprecated)>> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 1837e41f4b71Sopenharmony_ci 1838e41f4b71Sopenharmony_ci**Error codes** 1839e41f4b71Sopenharmony_ci 1840e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1841e41f4b71Sopenharmony_ci 1842e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciProvides the profile base class. 1868e41f4b71Sopenharmony_ci 1869e41f4b71Sopenharmony_ci 1870e41f4b71Sopenharmony_ci### getConnectionDevices<sup>(deprecated)</sup> 1871e41f4b71Sopenharmony_ci 1872e41f4b71Sopenharmony_cigetConnectionDevices(): Array<string> 1873e41f4b71Sopenharmony_ci 1874e41f4b71Sopenharmony_ciObtains the connected devices. 1875e41f4b71Sopenharmony_ci 1876e41f4b71Sopenharmony_ci> **NOTE**<br> 1877e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.getConnectedDevices](js-apis-bluetooth-baseProfile.md#baseprofilegetconnecteddevices) instead. 1878e41f4b71Sopenharmony_ci 1879e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1880e41f4b71Sopenharmony_ci 1881e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1882e41f4b71Sopenharmony_ci 1883e41f4b71Sopenharmony_ci**Return value** 1884e41f4b71Sopenharmony_ci 1885e41f4b71Sopenharmony_ci| Type | Description | 1886e41f4b71Sopenharmony_ci| ------------------- | ------------- | 1887e41f4b71Sopenharmony_ci| Array<string> | Addresses of the connected devices.| 1888e41f4b71Sopenharmony_ci 1889e41f4b71Sopenharmony_ci**Error codes** 1890e41f4b71Sopenharmony_ci 1891e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1892e41f4b71Sopenharmony_ci 1893e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the connection state of the profile. 1919e41f4b71Sopenharmony_ci 1920e41f4b71Sopenharmony_ci> **NOTE**<br> 1921e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.getConnectionState](js-apis-bluetooth-baseProfile.md#baseprofilegetconnectionstate) instead. 1922e41f4b71Sopenharmony_ci 1923e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1924e41f4b71Sopenharmony_ci 1925e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1926e41f4b71Sopenharmony_ci 1927e41f4b71Sopenharmony_ci**Parameters** 1928e41f4b71Sopenharmony_ci 1929e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1930e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 1931e41f4b71Sopenharmony_ci| device | string | Yes | Address of the target device.| 1932e41f4b71Sopenharmony_ci 1933e41f4b71Sopenharmony_ci**Return value** 1934e41f4b71Sopenharmony_ci 1935e41f4b71Sopenharmony_ci| Type | Description | 1936e41f4b71Sopenharmony_ci| ------------------------------------------------- | ----------------------- | 1937e41f4b71Sopenharmony_ci| [ProfileConnectionState](#profileconnectionstatedeprecated) | Profile connection state obtained.| 1938e41f4b71Sopenharmony_ci 1939e41f4b71Sopenharmony_ci**Error codes** 1940e41f4b71Sopenharmony_ci 1941e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1942e41f4b71Sopenharmony_ci 1943e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciBefore using an API of **A2dpSourceProfile**, you need to create an instance of this class by using **getProfile()**. 1969e41f4b71Sopenharmony_ci 1970e41f4b71Sopenharmony_ci> **NOTE**<br> 1971e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [a2dp.A2dpSourceProfile](js-apis-bluetooth-a2dp.md#a2dpsourceprofile) instead. 1972e41f4b71Sopenharmony_ci 1973e41f4b71Sopenharmony_ci 1974e41f4b71Sopenharmony_ci### connect<sup>(deprecated)</sup> 1975e41f4b71Sopenharmony_ci 1976e41f4b71Sopenharmony_ciconnect(device: string): void 1977e41f4b71Sopenharmony_ci 1978e41f4b71Sopenharmony_ciSets up an Advanced Audio Distribution Profile (A2DP) connection. 1979e41f4b71Sopenharmony_ci 1980e41f4b71Sopenharmony_ci> **NOTE**<br> 1981e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. The substitute API is available only for system applications. 1982e41f4b71Sopenharmony_ci 1983e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 1984e41f4b71Sopenharmony_ci 1985e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 1986e41f4b71Sopenharmony_ci 1987e41f4b71Sopenharmony_ci**Parameters** 1988e41f4b71Sopenharmony_ci 1989e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 1990e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 1991e41f4b71Sopenharmony_ci| device | string | Yes | Address of the target device.| 1992e41f4b71Sopenharmony_ci 1993e41f4b71Sopenharmony_ci**Error codes** 1994e41f4b71Sopenharmony_ci 1995e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 1996e41f4b71Sopenharmony_ci 1997e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciDisconnects an A2DP connection. 2025e41f4b71Sopenharmony_ci 2026e41f4b71Sopenharmony_ci> **NOTE**<br> 2027e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. The substitute API is available only for system applications. 2028e41f4b71Sopenharmony_ci 2029e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2030e41f4b71Sopenharmony_ci 2031e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2032e41f4b71Sopenharmony_ci 2033e41f4b71Sopenharmony_ci**Parameters** 2034e41f4b71Sopenharmony_ci 2035e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2036e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 2037e41f4b71Sopenharmony_ci| device | string | Yes | Address of the target device.| 2038e41f4b71Sopenharmony_ci 2039e41f4b71Sopenharmony_ci**Error codes** 2040e41f4b71Sopenharmony_ci 2041e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2042e41f4b71Sopenharmony_ci 2043e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSubscribes to the A2DP connection state changes. 2071e41f4b71Sopenharmony_ci 2072e41f4b71Sopenharmony_ci> **NOTE**<br> 2073e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.on('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileonconnectionstatechange) instead. 2074e41f4b71Sopenharmony_ci 2075e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2076e41f4b71Sopenharmony_ci 2077e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2078e41f4b71Sopenharmony_ci 2079e41f4b71Sopenharmony_ci**Parameters** 2080e41f4b71Sopenharmony_ci 2081e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2082e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2083e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **connectionStateChange** indicates A2DP connection state changes.| 2084e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | Yes | Callback used to return the A2DP connection state change. | 2085e41f4b71Sopenharmony_ci 2086e41f4b71Sopenharmony_ci**Return value** 2087e41f4b71Sopenharmony_ci 2088e41f4b71Sopenharmony_ciNo value is returned. 2089e41f4b71Sopenharmony_ci 2090e41f4b71Sopenharmony_ci**Error codes** 2091e41f4b71Sopenharmony_ci 2092e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2093e41f4b71Sopenharmony_ci 2094e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from the A2DP connection state changes. 2120e41f4b71Sopenharmony_ci 2121e41f4b71Sopenharmony_ci> **NOTE**<br> 2122e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.off('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileoffconnectionstatechange) instead. 2123e41f4b71Sopenharmony_ci 2124e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2125e41f4b71Sopenharmony_ci 2126e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2127e41f4b71Sopenharmony_ci 2128e41f4b71Sopenharmony_ci**Parameters** 2129e41f4b71Sopenharmony_ci 2130e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2131e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2132e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **connectionStateChange** indicates A2DP connection state changes.| 2133e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | No | Callback to unregister. | 2134e41f4b71Sopenharmony_ci 2135e41f4b71Sopenharmony_ci**Return value** 2136e41f4b71Sopenharmony_ci 2137e41f4b71Sopenharmony_ciNo value is returned. 2138e41f4b71Sopenharmony_ci 2139e41f4b71Sopenharmony_ci**Error codes** 2140e41f4b71Sopenharmony_ci 2141e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2142e41f4b71Sopenharmony_ci 2143e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the playing state of a device. 2170e41f4b71Sopenharmony_ci 2171e41f4b71Sopenharmony_ci> **NOTE**<br> 2172e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [a2dp.A2dpSourceProfile#getPlayingState](js-apis-bluetooth-a2dp.md#getPlayingState) instead. 2173e41f4b71Sopenharmony_ci 2174e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2175e41f4b71Sopenharmony_ci 2176e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2177e41f4b71Sopenharmony_ci 2178e41f4b71Sopenharmony_ci**Parameters** 2179e41f4b71Sopenharmony_ci 2180e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2181e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 2182e41f4b71Sopenharmony_ci| device | string | Yes | Address of the target device.| 2183e41f4b71Sopenharmony_ci 2184e41f4b71Sopenharmony_ci**Return value** 2185e41f4b71Sopenharmony_ci 2186e41f4b71Sopenharmony_ci| Type | Description | 2187e41f4b71Sopenharmony_ci| ----------------------------- | ---------- | 2188e41f4b71Sopenharmony_ci| [PlayingState](#playingstatedeprecated) | Playing state of the remote device obtained.| 2189e41f4b71Sopenharmony_ci 2190e41f4b71Sopenharmony_ci**Error codes** 2191e41f4b71Sopenharmony_ci 2192e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2193e41f4b71Sopenharmony_ci 2194e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciBefore using an API of **HandsFreeAudioGatewayProfile**, you need to create an instance of this class by using **getProfile()**. 2219e41f4b71Sopenharmony_ci 2220e41f4b71Sopenharmony_ci> **NOTE**<br> 2221e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [hfp.HandsFreeAudioGatewayProfile](js-apis-bluetooth-hfp.md#HandsFreeAudioGatewayProfile) instead. 2222e41f4b71Sopenharmony_ci 2223e41f4b71Sopenharmony_ci 2224e41f4b71Sopenharmony_ci### connect 2225e41f4b71Sopenharmony_ci 2226e41f4b71Sopenharmony_ciconnect(device: string): void 2227e41f4b71Sopenharmony_ci 2228e41f4b71Sopenharmony_ciSets up a Hands-free Profile (HFP) connection of a device. 2229e41f4b71Sopenharmony_ci 2230e41f4b71Sopenharmony_ci> **NOTE**<br> 2231e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. The substitute API is available only for system applications. 2232e41f4b71Sopenharmony_ci 2233e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2234e41f4b71Sopenharmony_ci 2235e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2236e41f4b71Sopenharmony_ci 2237e41f4b71Sopenharmony_ci**Parameters** 2238e41f4b71Sopenharmony_ci 2239e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2240e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 2241e41f4b71Sopenharmony_ci| device | string | Yes | Address of the target device.| 2242e41f4b71Sopenharmony_ci 2243e41f4b71Sopenharmony_ci**Error codes** 2244e41f4b71Sopenharmony_ci 2245e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2246e41f4b71Sopenharmony_ci 2247e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciDisconnects the HFP connection of a device. 2275e41f4b71Sopenharmony_ci 2276e41f4b71Sopenharmony_ci> **NOTE**<br> 2277e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. The substitute API is available only for system applications. 2278e41f4b71Sopenharmony_ci 2279e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2280e41f4b71Sopenharmony_ci 2281e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2282e41f4b71Sopenharmony_ci 2283e41f4b71Sopenharmony_ci**Parameters** 2284e41f4b71Sopenharmony_ci 2285e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2286e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------- | 2287e41f4b71Sopenharmony_ci| device | string | Yes | Address of the target device.| 2288e41f4b71Sopenharmony_ci 2289e41f4b71Sopenharmony_ci**Error codes** 2290e41f4b71Sopenharmony_ci 2291e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2292e41f4b71Sopenharmony_ci 2293e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSubscribes to the HFP connection state changes. 2321e41f4b71Sopenharmony_ci 2322e41f4b71Sopenharmony_ci> **NOTE**<br> 2323e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.on('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileonconnectionstatechange) instead. 2324e41f4b71Sopenharmony_ci 2325e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2326e41f4b71Sopenharmony_ci 2327e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2328e41f4b71Sopenharmony_ci 2329e41f4b71Sopenharmony_ci**Parameters** 2330e41f4b71Sopenharmony_ci 2331e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2332e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2333e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **connectionStateChange** indicates HFP connection state changes.| 2334e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | Yes | Callback used to return the HFP connection state change. | 2335e41f4b71Sopenharmony_ci 2336e41f4b71Sopenharmony_ci**Error codes** 2337e41f4b71Sopenharmony_ci 2338e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2339e41f4b71Sopenharmony_ci 2340e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from the HFP connection state changes. 2367e41f4b71Sopenharmony_ci 2368e41f4b71Sopenharmony_ci> **NOTE**<br> 2369e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.off('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileoffconnectionstatechange) instead. 2370e41f4b71Sopenharmony_ci 2371e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2372e41f4b71Sopenharmony_ci 2373e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2374e41f4b71Sopenharmony_ci 2375e41f4b71Sopenharmony_ci**Parameters** 2376e41f4b71Sopenharmony_ci 2377e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2378e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2379e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **connectionStateChange** indicates HFP connection state changes.| 2380e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | No | Callback to unregister. | 2381e41f4b71Sopenharmony_ci 2382e41f4b71Sopenharmony_ci**Error codes** 2383e41f4b71Sopenharmony_ci 2384e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2385e41f4b71Sopenharmony_ci 2386e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciBefore using an API of **HidHostProfile**, you need to create an instance of this class by using **getProfile()**. 2411e41f4b71Sopenharmony_ci 2412e41f4b71Sopenharmony_ci### on('connectionStateChange')<sup>(deprecated)</sup> 2413e41f4b71Sopenharmony_ci 2414e41f4b71Sopenharmony_cion(type: "connectionStateChange", callback: Callback<[StateChangeParam](#statechangeparamdeprecated)>): void 2415e41f4b71Sopenharmony_ci 2416e41f4b71Sopenharmony_ciSubscribes to the HidHost connection state changes. 2417e41f4b71Sopenharmony_ci 2418e41f4b71Sopenharmony_ci> **NOTE**<br> 2419e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.on('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileonconnectionstatechange) instead. 2420e41f4b71Sopenharmony_ci 2421e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2422e41f4b71Sopenharmony_ci 2423e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2424e41f4b71Sopenharmony_ci 2425e41f4b71Sopenharmony_ci**Parameters** 2426e41f4b71Sopenharmony_ci 2427e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2428e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2429e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **connectionStateChange** indicates HidHost connection state changes.| 2430e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | Yes | Callback used to return the HidHost connection state change. | 2431e41f4b71Sopenharmony_ci 2432e41f4b71Sopenharmony_ci**Error codes** 2433e41f4b71Sopenharmony_ci 2434e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2435e41f4b71Sopenharmony_ci 2436e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from the HidHost connection state changes. 2462e41f4b71Sopenharmony_ci 2463e41f4b71Sopenharmony_ci> **NOTE**<br> 2464e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.off('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileoffconnectionstatechange) instead. 2465e41f4b71Sopenharmony_ci 2466e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2467e41f4b71Sopenharmony_ci 2468e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2469e41f4b71Sopenharmony_ci 2470e41f4b71Sopenharmony_ci**Parameters** 2471e41f4b71Sopenharmony_ci 2472e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 2473e41f4b71Sopenharmony_ci| -------- | ----------------------------------------------------- | ---- | --------------------------------------------------------- | 2474e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **connectionStateChange** indicates HidHost connection state changes.| 2475e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | No | Callback to unregister. | 2476e41f4b71Sopenharmony_ci 2477e41f4b71Sopenharmony_ci**Error codes** 2478e41f4b71Sopenharmony_ci 2479e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2480e41f4b71Sopenharmony_ci 2481e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciBefore using an API of **PanProfile**, you need to create an instance of this class by using **getProfile()**. 2506e41f4b71Sopenharmony_ci 2507e41f4b71Sopenharmony_ci> **NOTE**<br> 2508e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [pan.PanProfile](js-apis-bluetooth-pan.md#panprofile) instead. 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_ciSubscribes to the PAN connection state changes. 2518e41f4b71Sopenharmony_ci 2519e41f4b71Sopenharmony_ci> **NOTE**<br> 2520e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.on('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileonconnectionstatechange) instead. 2521e41f4b71Sopenharmony_ci 2522e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2523e41f4b71Sopenharmony_ci 2524e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2525e41f4b71Sopenharmony_ci 2526e41f4b71Sopenharmony_ci**Parameters** 2527e41f4b71Sopenharmony_ci 2528e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2529e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 2530e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **connectionStateChange** indicates PAN connection state changes.| 2531e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | Yes | Callback used to return the PAN connection state change. | 2532e41f4b71Sopenharmony_ci 2533e41f4b71Sopenharmony_ci**Error codes** 2534e41f4b71Sopenharmony_ci 2535e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2536e41f4b71Sopenharmony_ci 2537e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from the PAN connection state changes. 2563e41f4b71Sopenharmony_ci 2564e41f4b71Sopenharmony_ci> **NOTE**<br> 2565e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.off('connectionStateChange')](js-apis-bluetooth-baseProfile.md#baseprofileoffconnectionstatechange) instead. 2566e41f4b71Sopenharmony_ci 2567e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2568e41f4b71Sopenharmony_ci 2569e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2570e41f4b71Sopenharmony_ci 2571e41f4b71Sopenharmony_ci**Parameters** 2572e41f4b71Sopenharmony_ci 2573e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 2574e41f4b71Sopenharmony_ci| -------- | ----------------------------------------------------- | ---- | --------------------------------------------------------- | 2575e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **connectionStateChange** indicates PAN connection state changes.| 2576e41f4b71Sopenharmony_ci| callback | Callback<[StateChangeParam](#statechangeparamdeprecated)> | No | Callback to unregister. | 2577e41f4b71Sopenharmony_ci 2578e41f4b71Sopenharmony_ci**Error codes** 2579e41f4b71Sopenharmony_ci 2580e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2581e41f4b71Sopenharmony_ci 2582e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciImplements the Generic Attribute Profile (GATT) server. Before using an API of this class, you need to create a **GattServer** instance using **createGattServer()**. 2607e41f4b71Sopenharmony_ci 2608e41f4b71Sopenharmony_ci> **NOTE**<br> 2609e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer](js-apis-bluetooth-ble.md#GattServer) instead. 2610e41f4b71Sopenharmony_ci 2611e41f4b71Sopenharmony_ci 2612e41f4b71Sopenharmony_ci### startAdvertising<sup>(deprecated)</sup> 2613e41f4b71Sopenharmony_ci 2614e41f4b71Sopenharmony_cistartAdvertising(setting: AdvertiseSetting, advData: AdvertiseData, advResponse?: AdvertiseData): void 2615e41f4b71Sopenharmony_ci 2616e41f4b71Sopenharmony_ciStarts BLE advertising. 2617e41f4b71Sopenharmony_ci 2618e41f4b71Sopenharmony_ci> **NOTE**<br> 2619e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.startAdvertising](js-apis-bluetooth-ble.md#blestartadvertising) instead. 2620e41f4b71Sopenharmony_ci 2621e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2622e41f4b71Sopenharmony_ci 2623e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2624e41f4b71Sopenharmony_ci 2625e41f4b71Sopenharmony_ci**Parameters** 2626e41f4b71Sopenharmony_ci 2627e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2628e41f4b71Sopenharmony_ci| ----------- | ------------------------------------- | ---- | -------------- | 2629e41f4b71Sopenharmony_ci| setting | [AdvertiseSetting](#advertisesettingdeprecated) | Yes | Settings related to BLE advertising. | 2630e41f4b71Sopenharmony_ci| advData | [AdvertiseData](#advertisedatadeprecated) | Yes | Content of the BLE advertisement packet. | 2631e41f4b71Sopenharmony_ci| advResponse | [AdvertiseData](#advertisedatadeprecated) | No | Response to the BLE scan request.| 2632e41f4b71Sopenharmony_ci 2633e41f4b71Sopenharmony_ci**Error codes** 2634e41f4b71Sopenharmony_ci 2635e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2636e41f4b71Sopenharmony_ci 2637e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciStops BLE advertising. 2700e41f4b71Sopenharmony_ci 2701e41f4b71Sopenharmony_ci> **NOTE**<br> 2702e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.stopAdvertising](js-apis-bluetooth-ble.md#blestopadvertising) instead. 2703e41f4b71Sopenharmony_ci 2704e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2705e41f4b71Sopenharmony_ci 2706e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2707e41f4b71Sopenharmony_ci 2708e41f4b71Sopenharmony_ci**Error codes** 2709e41f4b71Sopenharmony_ci 2710e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2711e41f4b71Sopenharmony_ci 2712e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciAdds a service to this GATT server. 2738e41f4b71Sopenharmony_ci 2739e41f4b71Sopenharmony_ci> **NOTE**<br> 2740e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#addService](js-apis-bluetooth-ble.md#addservice) instead. 2741e41f4b71Sopenharmony_ci 2742e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2743e41f4b71Sopenharmony_ci 2744e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2745e41f4b71Sopenharmony_ci 2746e41f4b71Sopenharmony_ci**Parameters** 2747e41f4b71Sopenharmony_ci 2748e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2749e41f4b71Sopenharmony_ci| ------- | --------------------------- | ---- | ------------------------ | 2750e41f4b71Sopenharmony_ci| service | [GattService](#gattservicedeprecated) | Yes | Service to add. Settings related to BLE advertising.| 2751e41f4b71Sopenharmony_ci 2752e41f4b71Sopenharmony_ci**Error codes** 2753e41f4b71Sopenharmony_ci 2754e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2755e41f4b71Sopenharmony_ci 2756e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 2766e41f4b71Sopenharmony_ci 2767e41f4b71Sopenharmony_ci```js 2768e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2769e41f4b71Sopenharmony_ci// Create 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// Create 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// Create a gattService instance. 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_ciRemoves a service from this GATT server. 2807e41f4b71Sopenharmony_ci 2808e41f4b71Sopenharmony_ci> **NOTE**<br> 2809e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#removeService](js-apis-bluetooth-ble.md#removeservice) instead. 2810e41f4b71Sopenharmony_ci 2811e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2812e41f4b71Sopenharmony_ci 2813e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2814e41f4b71Sopenharmony_ci 2815e41f4b71Sopenharmony_ci**Parameters** 2816e41f4b71Sopenharmony_ci 2817e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2818e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | ---------------------------------------- | 2819e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | Universally unique identifier (UUID) of the service to remove, for example, **00001810-0000-1000-8000-00805F9B34FB**.| 2820e41f4b71Sopenharmony_ci 2821e41f4b71Sopenharmony_ci**Error codes** 2822e41f4b71Sopenharmony_ci 2823e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2824e41f4b71Sopenharmony_ci 2825e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciCloses this GATT server to unregister it from the protocol stack. After this method is called, this [GattServer](#gattserver) cannot be used. 2853e41f4b71Sopenharmony_ci 2854e41f4b71Sopenharmony_ci> **NOTE**<br> 2855e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#close](js-apis-bluetooth-ble.md#close) instead. 2856e41f4b71Sopenharmony_ci 2857e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2858e41f4b71Sopenharmony_ci 2859e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2860e41f4b71Sopenharmony_ci 2861e41f4b71Sopenharmony_ci**Error codes** 2862e41f4b71Sopenharmony_ci 2863e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2864e41f4b71Sopenharmony_ci 2865e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciNotifies the connected client device when a characteristic value changes. 2891e41f4b71Sopenharmony_ci 2892e41f4b71Sopenharmony_ci> **NOTE**<br> 2893e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#notifyCharacteristicChanged](js-apis-bluetooth-ble.md#notifycharacteristicchanged) instead. 2894e41f4b71Sopenharmony_ci 2895e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2896e41f4b71Sopenharmony_ci 2897e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2898e41f4b71Sopenharmony_ci 2899e41f4b71Sopenharmony_ci**Parameters** 2900e41f4b71Sopenharmony_ci 2901e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2902e41f4b71Sopenharmony_ci| -------------------- | ---------------------------------------- | ---- | --------------------------------------- | 2903e41f4b71Sopenharmony_ci| deviceId | string | Yes | Address of the client that receives notifications, for example, XX:XX:XX:XX:XX:XX.| 2904e41f4b71Sopenharmony_ci| notifyCharacteristic | [NotifyCharacteristic](#notifycharacteristicdeprecated) | Yes | New characteristic value. | 2905e41f4b71Sopenharmony_ci 2906e41f4b71Sopenharmony_ci**Error codes** 2907e41f4b71Sopenharmony_ci 2908e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2909e41f4b71Sopenharmony_ci 2910e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 2920e41f4b71Sopenharmony_ci 2921e41f4b71Sopenharmony_ci```js 2922e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 2923e41f4b71Sopenharmony_ci// Create 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_ciSends a response to a read or write request from the GATT client. 2951e41f4b71Sopenharmony_ci 2952e41f4b71Sopenharmony_ci> **NOTE**<br> 2953e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#sendResponse](js-apis-bluetooth-ble.md#sendresponse) instead. 2954e41f4b71Sopenharmony_ci 2955e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 2956e41f4b71Sopenharmony_ci 2957e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 2958e41f4b71Sopenharmony_ci 2959e41f4b71Sopenharmony_ci**Parameters** 2960e41f4b71Sopenharmony_ci 2961e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 2962e41f4b71Sopenharmony_ci| -------------- | --------------------------------- | ---- | --------------- | 2963e41f4b71Sopenharmony_ci| serverResponse | [ServerResponse](#serverresponsedeprecated) | Yes | Response returned by the GATT server.| 2964e41f4b71Sopenharmony_ci 2965e41f4b71Sopenharmony_ci**Error codes** 2966e41f4b71Sopenharmony_ci 2967e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 2968e41f4b71Sopenharmony_ci 2969e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSubscribes to the characteristic read request events. 3008e41f4b71Sopenharmony_ci 3009e41f4b71Sopenharmony_ci> **NOTE**<br> 3010e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#on('characteristicRead')](js-apis-bluetooth-ble.md#oncharacteristicread) instead. 3011e41f4b71Sopenharmony_ci 3012e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3013e41f4b71Sopenharmony_ci 3014e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3015e41f4b71Sopenharmony_ci 3016e41f4b71Sopenharmony_ci**Parameters** 3017e41f4b71Sopenharmony_ci 3018e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3019e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ------------------------------------- | 3020e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **characteristicRead** indicates a characteristic read request event.| 3021e41f4b71Sopenharmony_ci| callback | Callback<[CharacteristicReadRequest](#characteristicreadrequestdeprecated)> | Yes | Callback used to return a characteristic read request event from the GATT client. | 3022e41f4b71Sopenharmony_ci 3023e41f4b71Sopenharmony_ci**Error codes** 3024e41f4b71Sopenharmony_ci 3025e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3026e41f4b71Sopenharmony_ci 3027e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from the characteristic read request events. 3065e41f4b71Sopenharmony_ci 3066e41f4b71Sopenharmony_ci> **NOTE**<br> 3067e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#off('characteristicRead')](js-apis-bluetooth-ble.md#offcharacteristicread) instead. 3068e41f4b71Sopenharmony_ci 3069e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3070e41f4b71Sopenharmony_ci 3071e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3072e41f4b71Sopenharmony_ci 3073e41f4b71Sopenharmony_ci**Parameters** 3074e41f4b71Sopenharmony_ci 3075e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3076e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3077e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **characteristicRead** indicates a characteristic read request event. | 3078e41f4b71Sopenharmony_ci| callback | Callback<[CharacteristicReadRequest](#characteristicreadrequestdeprecated)> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 3079e41f4b71Sopenharmony_ci 3080e41f4b71Sopenharmony_ci**Error codes** 3081e41f4b71Sopenharmony_ci 3082e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3083e41f4b71Sopenharmony_ci 3084e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSubscribes to the characteristic write request events. 3108e41f4b71Sopenharmony_ci 3109e41f4b71Sopenharmony_ci> **NOTE**<br> 3110e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#on('characteristicWrite')](js-apis-bluetooth-ble.md#oncharacteristicwrite) instead. 3111e41f4b71Sopenharmony_ci 3112e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3113e41f4b71Sopenharmony_ci 3114e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3115e41f4b71Sopenharmony_ci 3116e41f4b71Sopenharmony_ci**Parameters** 3117e41f4b71Sopenharmony_ci 3118e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3119e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | -------------------------------------- | 3120e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **characteristicWrite** indicates a characteristic write request event.| 3121e41f4b71Sopenharmony_ci| callback | Callback<[CharacteristicWriteRequest](#characteristicwriterequestdeprecated)> | Yes | Callback used to return a characteristic write request from the GATT client. | 3122e41f4b71Sopenharmony_ci 3123e41f4b71Sopenharmony_ci**Error codes** 3124e41f4b71Sopenharmony_ci 3125e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3126e41f4b71Sopenharmony_ci 3127e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from the characteristic write request events. 3168e41f4b71Sopenharmony_ci 3169e41f4b71Sopenharmony_ci> **NOTE**<br> 3170e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#off('characteristicWrite')](js-apis-bluetooth-ble.md#offcharacteristicwrite) instead. 3171e41f4b71Sopenharmony_ci 3172e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3173e41f4b71Sopenharmony_ci 3174e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3175e41f4b71Sopenharmony_ci 3176e41f4b71Sopenharmony_ci**Parameters** 3177e41f4b71Sopenharmony_ci 3178e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3179e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3180e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **characteristicWrite** indicates a characteristic write request event. | 3181e41f4b71Sopenharmony_ci| callback | Callback<[CharacteristicWriteRequest](#characteristicwriterequestdeprecated)> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 3182e41f4b71Sopenharmony_ci 3183e41f4b71Sopenharmony_ci**Error codes** 3184e41f4b71Sopenharmony_ci 3185e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3186e41f4b71Sopenharmony_ci 3187e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSubscribes to the descriptor read request events. 3211e41f4b71Sopenharmony_ci 3212e41f4b71Sopenharmony_ci> **NOTE**<br> 3213e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#on('descriptorRead')](js-apis-bluetooth-ble.md#ondescriptorread) instead. 3214e41f4b71Sopenharmony_ci 3215e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3216e41f4b71Sopenharmony_ci 3217e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3218e41f4b71Sopenharmony_ci 3219e41f4b71Sopenharmony_ci**Parameters** 3220e41f4b71Sopenharmony_ci 3221e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3222e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | --------------------------------- | 3223e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **descriptorRead** indicates a descriptor read request event.| 3224e41f4b71Sopenharmony_ci| callback | Callback<[DescriptorReadRequest](#descriptorreadrequestdeprecated)> | Yes | Callback used to return a descriptor read request event from the GATT client. | 3225e41f4b71Sopenharmony_ci 3226e41f4b71Sopenharmony_ci**Error codes** 3227e41f4b71Sopenharmony_ci 3228e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3229e41f4b71Sopenharmony_ci 3230e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from the descriptor read request events. 3268e41f4b71Sopenharmony_ci 3269e41f4b71Sopenharmony_ci> **NOTE**<br> 3270e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#off('descriptorRead')](js-apis-bluetooth-ble.md#offdescriptorread) instead. 3271e41f4b71Sopenharmony_ci 3272e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3273e41f4b71Sopenharmony_ci 3274e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3275e41f4b71Sopenharmony_ci 3276e41f4b71Sopenharmony_ci**Parameters** 3277e41f4b71Sopenharmony_ci 3278e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3279e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3280e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **descriptorRead** indicates a descriptor read request event. | 3281e41f4b71Sopenharmony_ci| callback | Callback<[DescriptorReadRequest](#descriptorreadrequestdeprecated)> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 3282e41f4b71Sopenharmony_ci 3283e41f4b71Sopenharmony_ci**Error codes** 3284e41f4b71Sopenharmony_ci 3285e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3286e41f4b71Sopenharmony_ci 3287e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSubscribes to the descriptor write request events. 3311e41f4b71Sopenharmony_ci 3312e41f4b71Sopenharmony_ci> **NOTE**<br> 3313e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#on('descriptorWrite')](js-apis-bluetooth-ble.md#ondescriptorwrite) instead. 3314e41f4b71Sopenharmony_ci 3315e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3316e41f4b71Sopenharmony_ci 3317e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3318e41f4b71Sopenharmony_ci 3319e41f4b71Sopenharmony_ci**Parameters** 3320e41f4b71Sopenharmony_ci 3321e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3322e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------- | 3323e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **descriptorWrite** indicates a descriptor write request event.| 3324e41f4b71Sopenharmony_ci| callback | Callback<[DescriptorWriteRequest](#descriptorwriterequestdeprecated)> | Yes | Callback used to return a descriptor write request from the GATT client. | 3325e41f4b71Sopenharmony_ci 3326e41f4b71Sopenharmony_ci**Error codes** 3327e41f4b71Sopenharmony_ci 3328e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3329e41f4b71Sopenharmony_ci 3330e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from the descriptor write request events. 3371e41f4b71Sopenharmony_ci 3372e41f4b71Sopenharmony_ci> **NOTE**<br> 3373e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#off('descriptorWrite')](js-apis-bluetooth-ble.md#offdescriptorwrite) instead. 3374e41f4b71Sopenharmony_ci 3375e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3376e41f4b71Sopenharmony_ci 3377e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3378e41f4b71Sopenharmony_ci 3379e41f4b71Sopenharmony_ci**Parameters** 3380e41f4b71Sopenharmony_ci 3381e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3382e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3383e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **descriptorWrite** indicates a descriptor write request event. | 3384e41f4b71Sopenharmony_ci| callback | Callback<[DescriptorWriteRequest](#descriptorwriterequestdeprecated)> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 3385e41f4b71Sopenharmony_ci 3386e41f4b71Sopenharmony_ci**Error codes** 3387e41f4b71Sopenharmony_ci 3388e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3389e41f4b71Sopenharmony_ci 3390e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSubscribes to the BLE connection state changes. 3414e41f4b71Sopenharmony_ci 3415e41f4b71Sopenharmony_ci> **NOTE**<br> 3416e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#on('connectionStateChange')](js-apis-bluetooth-ble.md#onconnectionstatechange) instead. 3417e41f4b71Sopenharmony_ci 3418e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3419e41f4b71Sopenharmony_ci 3420e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3421e41f4b71Sopenharmony_ci 3422e41f4b71Sopenharmony_ci**Parameters** 3423e41f4b71Sopenharmony_ci 3424e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3425e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3426e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **connectStateChange** indicates a BLE connection state change event.| 3427e41f4b71Sopenharmony_ci| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstatedeprecated)> | Yes | Callback used to return the BLE connection state. | 3428e41f4b71Sopenharmony_ci 3429e41f4b71Sopenharmony_ci**Error codes** 3430e41f4b71Sopenharmony_ci 3431e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3432e41f4b71Sopenharmony_ci 3433e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciUnsubscribes from the BLE connection state changes. 3461e41f4b71Sopenharmony_ci 3462e41f4b71Sopenharmony_ci> **NOTE**<br> 3463e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattServer#off('connectionStateChange')](js-apis-bluetooth-ble.md#offconnectionstatechange) instead. 3464e41f4b71Sopenharmony_ci 3465e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3466e41f4b71Sopenharmony_ci 3467e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3468e41f4b71Sopenharmony_ci 3469e41f4b71Sopenharmony_ci**Parameters** 3470e41f4b71Sopenharmony_ci 3471e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3472e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 3473e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **connectStateChange** indicates a BLE connection state change event.| 3474e41f4b71Sopenharmony_ci| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstatedeprecated)> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 3475e41f4b71Sopenharmony_ci 3476e41f4b71Sopenharmony_ci**Error codes** 3477e41f4b71Sopenharmony_ci 3478e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3479e41f4b71Sopenharmony_ci 3480e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciImplements the GATT client. Before using an API of this class, you must create a **GattClientDevice** instance using **createGattClientDevice(deviceId: string)**. 3502e41f4b71Sopenharmony_ci 3503e41f4b71Sopenharmony_ci> **NOTE**<br> 3504e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice](js-apis-bluetooth-ble.md#gattclientdevice) instead. 3505e41f4b71Sopenharmony_ci 3506e41f4b71Sopenharmony_ci 3507e41f4b71Sopenharmony_ci### connect<sup>(deprecated)</sup> 3508e41f4b71Sopenharmony_ci 3509e41f4b71Sopenharmony_ciconnect(): void 3510e41f4b71Sopenharmony_ci 3511e41f4b71Sopenharmony_ciInitiates a connection to the remote BLE device. 3512e41f4b71Sopenharmony_ci 3513e41f4b71Sopenharmony_ci> **NOTE**<br> 3514e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#connect](js-apis-bluetooth-ble.md#connect) instead. 3515e41f4b71Sopenharmony_ci 3516e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3517e41f4b71Sopenharmony_ci 3518e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3519e41f4b71Sopenharmony_ci 3520e41f4b71Sopenharmony_ci**Error codes** 3521e41f4b71Sopenharmony_ci 3522e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3523e41f4b71Sopenharmony_ci 3524e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciDisconnects from the remote BLE device. 3550e41f4b71Sopenharmony_ci 3551e41f4b71Sopenharmony_ci> **NOTE**<br> 3552e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#disconnect](js-apis-bluetooth-ble.md#disconnect) instead. 3553e41f4b71Sopenharmony_ci 3554e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3555e41f4b71Sopenharmony_ci 3556e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3557e41f4b71Sopenharmony_ci 3558e41f4b71Sopenharmony_ci**Error codes** 3559e41f4b71Sopenharmony_ci 3560e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3561e41f4b71Sopenharmony_ci 3562e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciCloses this GATT client to unregister it from the protocol stack. After this method is called, this [GattClientDevice](#gattclientdevice) instance cannot be used. 3588e41f4b71Sopenharmony_ci 3589e41f4b71Sopenharmony_ci> **NOTE**<br> 3590e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#close](js-apis-bluetooth-ble.md#close) instead. 3591e41f4b71Sopenharmony_ci 3592e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3593e41f4b71Sopenharmony_ci 3594e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3595e41f4b71Sopenharmony_ci 3596e41f4b71Sopenharmony_ci**Error codes** 3597e41f4b71Sopenharmony_ci 3598e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3599e41f4b71Sopenharmony_ci 3600e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains all services of the remote BLE device. This API uses an asynchronous callback to return the result. 3628e41f4b71Sopenharmony_ci 3629e41f4b71Sopenharmony_ci> **NOTE**<br> 3630e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#getServices](js-apis-bluetooth-ble.md#getservices) instead. 3631e41f4b71Sopenharmony_ci 3632e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3633e41f4b71Sopenharmony_ci 3634e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3635e41f4b71Sopenharmony_ci 3636e41f4b71Sopenharmony_ci**Parameters** 3637e41f4b71Sopenharmony_ci 3638e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3639e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ------------------------ | 3640e41f4b71Sopenharmony_ci| callback | AsyncCallback<Array<[GattService](#gattservicedeprecated)>> | Yes | Callback used to return the services obtained.| 3641e41f4b71Sopenharmony_ci 3642e41f4b71Sopenharmony_ci**Error codes** 3643e41f4b71Sopenharmony_ci 3644e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3645e41f4b71Sopenharmony_ci 3646e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 3655e41f4b71Sopenharmony_ci 3656e41f4b71Sopenharmony_ci```js 3657e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 3658e41f4b71Sopenharmony_ci// Callback mode. 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_ciObtains all services of the remote BLE device. This API uses a promise to return the result. 3686e41f4b71Sopenharmony_ci 3687e41f4b71Sopenharmony_ci> **NOTE**<br> 3688e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#getServices](js-apis-bluetooth-ble.md#getservices-1) instead. 3689e41f4b71Sopenharmony_ci 3690e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3691e41f4b71Sopenharmony_ci 3692e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3693e41f4b71Sopenharmony_ci 3694e41f4b71Sopenharmony_ci**Return value** 3695e41f4b71Sopenharmony_ci 3696e41f4b71Sopenharmony_ci| Type | Description | 3697e41f4b71Sopenharmony_ci| ---------------------------------------- | --------------------------- | 3698e41f4b71Sopenharmony_ci| Promise<Array<[GattService](#gattservicedeprecated)>> | Promise used to return the services obtained.| 3699e41f4b71Sopenharmony_ci 3700e41f4b71Sopenharmony_ci**Error codes** 3701e41f4b71Sopenharmony_ci 3702e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3703e41f4b71Sopenharmony_ci 3704e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciReads the characteristic value of the specific service of the remote BLE device. This API uses an asynchronous callback to return the result. 3734e41f4b71Sopenharmony_ci 3735e41f4b71Sopenharmony_ci> **NOTE**<br> 3736e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#readCharacteristicValue](js-apis-bluetooth-ble.md#readcharacteristicvalue) instead. 3737e41f4b71Sopenharmony_ci 3738e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3739e41f4b71Sopenharmony_ci 3740e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3741e41f4b71Sopenharmony_ci 3742e41f4b71Sopenharmony_ci**Parameters** 3743e41f4b71Sopenharmony_ci 3744e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3745e41f4b71Sopenharmony_ci| -------------- | ---------------------------------------- | ---- | ----------------------- | 3746e41f4b71Sopenharmony_ci| characteristic | [BLECharacteristic](#blecharacteristicdeprecated) | Yes | Characteristic value to read. | 3747e41f4b71Sopenharmony_ci| callback | AsyncCallback<[BLECharacteristic](#blecharacteristicdeprecated)> | Yes | Callback used to return the characteristic value read.| 3748e41f4b71Sopenharmony_ci 3749e41f4b71Sopenharmony_ci**Error codes** 3750e41f4b71Sopenharmony_ci 3751e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3752e41f4b71Sopenharmony_ci 3753e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciReads the characteristic value of the specific service of the remote BLE device. This API uses an asynchronous callback to return the result. 3805e41f4b71Sopenharmony_ci 3806e41f4b71Sopenharmony_ci> **NOTE**<br> 3807e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#readCharacteristicValue](js-apis-bluetooth-ble.md#readcharacteristicvalue-1) instead. 3808e41f4b71Sopenharmony_ci 3809e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3810e41f4b71Sopenharmony_ci 3811e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3812e41f4b71Sopenharmony_ci 3813e41f4b71Sopenharmony_ci**Parameters** 3814e41f4b71Sopenharmony_ci 3815e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3816e41f4b71Sopenharmony_ci| -------------- | --------------------------------------- | ---- | -------- | 3817e41f4b71Sopenharmony_ci| characteristic | [BLECharacteristic](#blecharacteristicdeprecated) | Yes | Characteristic value to read.| 3818e41f4b71Sopenharmony_ci 3819e41f4b71Sopenharmony_ci**Return value** 3820e41f4b71Sopenharmony_ci 3821e41f4b71Sopenharmony_ci| Type | Description | 3822e41f4b71Sopenharmony_ci| ---------------------------------------- | -------------------------- | 3823e41f4b71Sopenharmony_ci| Promise<[BLECharacteristic](#blecharacteristicdeprecated)> | Promise used to return the characteristic value read.| 3824e41f4b71Sopenharmony_ci 3825e41f4b71Sopenharmony_ci**Error codes** 3826e41f4b71Sopenharmony_ci 3827e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3828e41f4b71Sopenharmony_ci 3829e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciReads the descriptor contained in the specific characteristic of the remote BLE device. This API uses an asynchronous callback to return the result. 3872e41f4b71Sopenharmony_ci 3873e41f4b71Sopenharmony_ci> **NOTE**<br> 3874e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#readDescriptorValue](js-apis-bluetooth-ble.md#readdescriptorvalue) instead. 3875e41f4b71Sopenharmony_ci 3876e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3877e41f4b71Sopenharmony_ci 3878e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3879e41f4b71Sopenharmony_ci 3880e41f4b71Sopenharmony_ci**Parameters** 3881e41f4b71Sopenharmony_ci 3882e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3883e41f4b71Sopenharmony_ci| ---------- | ---------------------------------------- | ---- | ----------------------- | 3884e41f4b71Sopenharmony_ci| descriptor | [BLEDescriptor](#bledescriptordeprecated) | Yes | Descriptor to read. | 3885e41f4b71Sopenharmony_ci| callback | AsyncCallback<[BLEDescriptor](#bledescriptordeprecated)> | Yes | Callback used to return the descriptor read.| 3886e41f4b71Sopenharmony_ci 3887e41f4b71Sopenharmony_ci**Error codes** 3888e41f4b71Sopenharmony_ci 3889e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3890e41f4b71Sopenharmony_ci 3891e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciReads the descriptor contained in the specific characteristic of the remote BLE device. This API uses an asynchronous callback to return the result. 3936e41f4b71Sopenharmony_ci 3937e41f4b71Sopenharmony_ci> **NOTE**<br> 3938e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#readDescriptorValue](js-apis-bluetooth-ble.md#readdescriptorvalue-1) instead. 3939e41f4b71Sopenharmony_ci 3940e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 3941e41f4b71Sopenharmony_ci 3942e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 3943e41f4b71Sopenharmony_ci 3944e41f4b71Sopenharmony_ci**Parameters** 3945e41f4b71Sopenharmony_ci 3946e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 3947e41f4b71Sopenharmony_ci| ---------- | ------------------------------- | ---- | -------- | 3948e41f4b71Sopenharmony_ci| descriptor | [BLEDescriptor](#bledescriptordeprecated) | Yes | Descriptor to read.| 3949e41f4b71Sopenharmony_ci 3950e41f4b71Sopenharmony_ci**Return value** 3951e41f4b71Sopenharmony_ci 3952e41f4b71Sopenharmony_ci| Type | Description | 3953e41f4b71Sopenharmony_ci| ---------------------------------------- | -------------------------- | 3954e41f4b71Sopenharmony_ci| Promise<[BLEDescriptor](#bledescriptordeprecated)> | Promise used to return the descriptor read.| 3955e41f4b71Sopenharmony_ci 3956e41f4b71Sopenharmony_ci**Error codes** 3957e41f4b71Sopenharmony_ci 3958e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 3959e41f4b71Sopenharmony_ci 3960e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciWrites a characteristic value to the remote BLE device. 3996e41f4b71Sopenharmony_ci 3997e41f4b71Sopenharmony_ci> **NOTE**<br> 3998e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#writeCharacteristicValue](js-apis-bluetooth-ble.md#writecharacteristicvalue) instead. 3999e41f4b71Sopenharmony_ci 4000e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4001e41f4b71Sopenharmony_ci 4002e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4003e41f4b71Sopenharmony_ci 4004e41f4b71Sopenharmony_ci**Parameters** 4005e41f4b71Sopenharmony_ci 4006e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4007e41f4b71Sopenharmony_ci| -------------- | --------------------------------------- | ---- | ------------------- | 4008e41f4b71Sopenharmony_ci| characteristic | [BLECharacteristic](#blecharacteristicdeprecated) | Yes | Binary value and other parameters of the BLE device characteristic.| 4009e41f4b71Sopenharmony_ci 4010e41f4b71Sopenharmony_ci**Error codes** 4011e41f4b71Sopenharmony_ci 4012e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4013e41f4b71Sopenharmony_ci 4014e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciWrites binary data to the specific descriptor of the remote BLE device. 4056e41f4b71Sopenharmony_ci 4057e41f4b71Sopenharmony_ci> **NOTE**<br> 4058e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#writeCharacteristicValue](js-apis-bluetooth-ble.md#writecharacteristicvalue-1) instead. 4059e41f4b71Sopenharmony_ci 4060e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4061e41f4b71Sopenharmony_ci 4062e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4063e41f4b71Sopenharmony_ci 4064e41f4b71Sopenharmony_ci**Parameters** 4065e41f4b71Sopenharmony_ci 4066e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4067e41f4b71Sopenharmony_ci| ---------- | ------------------------------- | ---- | ------------------ | 4068e41f4b71Sopenharmony_ci| descriptor | [BLEDescriptor](#bledescriptordeprecated) | Yes | Binary value and other parameters of the BLE device descriptor.| 4069e41f4b71Sopenharmony_ci 4070e41f4b71Sopenharmony_ci**Error codes** 4071e41f4b71Sopenharmony_ci 4072e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4073e41f4b71Sopenharmony_ci 4074e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSets the maximum transmission unit (MTU) that can be transmitted between the GATT client and its remote BLE device. This API can be used only after a connection is set up by calling [connect](#connect). 4110e41f4b71Sopenharmony_ci 4111e41f4b71Sopenharmony_ci> **NOTE**<br> 4112e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#setBLEMtuSize](js-apis-bluetooth-ble.md#setBLEMtuSize) instead. 4113e41f4b71Sopenharmony_ci 4114e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4115e41f4b71Sopenharmony_ci 4116e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4117e41f4b71Sopenharmony_ci 4118e41f4b71Sopenharmony_ci**Parameters** 4119e41f4b71Sopenharmony_ci 4120e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4121e41f4b71Sopenharmony_ci| ---- | ------ | ---- | -------------- | 4122e41f4b71Sopenharmony_ci| mtu | number | Yes | MTU to set, which ranges from 22 to 512 bytes.| 4123e41f4b71Sopenharmony_ci 4124e41f4b71Sopenharmony_ci**Error codes** 4125e41f4b71Sopenharmony_ci 4126e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4127e41f4b71Sopenharmony_ci 4128e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciSets the function of notifying the GATT client when the characteristic value of the remote BLE device changes. 4154e41f4b71Sopenharmony_ci 4155e41f4b71Sopenharmony_ci> **NOTE**<br> 4156e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#setCharacteristicChangeNotification](js-apis-bluetooth-ble.md#setcharacteristicchangenotification) instead. 4157e41f4b71Sopenharmony_ci 4158e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4159e41f4b71Sopenharmony_ci 4160e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4161e41f4b71Sopenharmony_ci 4162e41f4b71Sopenharmony_ci**Parameters** 4163e41f4b71Sopenharmony_ci 4164e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4165e41f4b71Sopenharmony_ci| -------------- | --------------------------------------- | ---- | ----------------------------- | 4166e41f4b71Sopenharmony_ci| characteristic | [BLECharacteristic](#blecharacteristicdeprecated) | Yes | BLE characteristic to listen for. | 4167e41f4b71Sopenharmony_ci| enable | boolean | Yes | Whether to enable the notify function. The value **true** means to enable the notify function, and the value **false** means the opposite.| 4168e41f4b71Sopenharmony_ci 4169e41f4b71Sopenharmony_ci**Error codes** 4170e41f4b71Sopenharmony_ci 4171e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4172e41f4b71Sopenharmony_ci 4173e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 4182e41f4b71Sopenharmony_ci 4183e41f4b71Sopenharmony_ci```js 4184e41f4b71Sopenharmony_ciimport { BusinessError } from '@ohos.base'; 4185e41f4b71Sopenharmony_ci// Create 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_ciSubscribes to the BLE characteristic changes. The client can receive a notification from the server only after the **setNotifyCharacteristicChanged** method is called. 4216e41f4b71Sopenharmony_ci 4217e41f4b71Sopenharmony_ci> **NOTE**<br> 4218e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#on('BLECharacteristicChange')](js-apis-bluetooth-ble.md#onblecharacteristicchange) instead. 4219e41f4b71Sopenharmony_ci 4220e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4221e41f4b71Sopenharmony_ci 4222e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4223e41f4b71Sopenharmony_ci 4224e41f4b71Sopenharmony_ci**Parameters** 4225e41f4b71Sopenharmony_ci 4226e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4227e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 4228e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **BLECharacteristicChange** indicates a characteristic value change event.| 4229e41f4b71Sopenharmony_ci| callback | Callback<[BLECharacteristic](#blecharacteristicdeprecated)> | Yes | Callback used to return the characteristic value changes. | 4230e41f4b71Sopenharmony_ci 4231e41f4b71Sopenharmony_ci**Error codes** 4232e41f4b71Sopenharmony_ci 4233e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4234e41f4b71Sopenharmony_ci 4235e41f4b71Sopenharmony_ci| ID| Error Message| 4236e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4237e41f4b71Sopenharmony_ci|201 | Permission denied. | 4238e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4239e41f4b71Sopenharmony_ci 4240e41f4b71Sopenharmony_ci**Example** 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_ciUnsubscribes from the BLE characteristic changes. 4263e41f4b71Sopenharmony_ci 4264e41f4b71Sopenharmony_ci> **NOTE**<br> 4265e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#off('BLECharacteristicChange')](js-apis-bluetooth-ble.md#offblecharacteristicchange) instead. 4266e41f4b71Sopenharmony_ci 4267e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4268e41f4b71Sopenharmony_ci 4269e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4270e41f4b71Sopenharmony_ci 4271e41f4b71Sopenharmony_ci**Parameters** 4272e41f4b71Sopenharmony_ci 4273e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4274e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 4275e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **BLECharacteristicChange** indicates a characteristic value change event.| 4276e41f4b71Sopenharmony_ci| callback | Callback<[BLECharacteristic](#blecharacteristicdeprecated)> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 4277e41f4b71Sopenharmony_ci 4278e41f4b71Sopenharmony_ci**Error codes** 4279e41f4b71Sopenharmony_ci 4280e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4281e41f4b71Sopenharmony_ci 4282e41f4b71Sopenharmony_ci| ID| Error Message| 4283e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4284e41f4b71Sopenharmony_ci|201 | Permission denied. | 4285e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4286e41f4b71Sopenharmony_ci 4287e41f4b71Sopenharmony_ci**Example** 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_ciSubscribes to the BLE connection state changes. 4305e41f4b71Sopenharmony_ci 4306e41f4b71Sopenharmony_ci> **NOTE**<br> 4307e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#on('BLEConnectionStateChange')](js-apis-bluetooth-ble.md#onbleconnectionstatechange) instead. 4308e41f4b71Sopenharmony_ci 4309e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4310e41f4b71Sopenharmony_ci 4311e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4312e41f4b71Sopenharmony_ci 4313e41f4b71Sopenharmony_ci**Parameters** 4314e41f4b71Sopenharmony_ci 4315e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4316e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 4317e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **BLEConnectionStateChange** indicates a BLE connection state change event.| 4318e41f4b71Sopenharmony_ci| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstatedeprecated)> | Yes | Callback used to return the BLE connection state. | 4319e41f4b71Sopenharmony_ci 4320e41f4b71Sopenharmony_ci**Error codes** 4321e41f4b71Sopenharmony_ci 4322e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4323e41f4b71Sopenharmony_ci 4324e41f4b71Sopenharmony_ci| ID| Error Message| 4325e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4326e41f4b71Sopenharmony_ci|201 | Permission denied. | 4327e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4328e41f4b71Sopenharmony_ci 4329e41f4b71Sopenharmony_ci**Example** 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_ciUnsubscribes from the BLE connection state changes. 4351e41f4b71Sopenharmony_ci 4352e41f4b71Sopenharmony_ci> **NOTE**<br> 4353e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#off('BLEConnectionStateChange')](js-apis-bluetooth-ble.md#offbleconnectionstatechange) instead. 4354e41f4b71Sopenharmony_ci 4355e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4356e41f4b71Sopenharmony_ci 4357e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4358e41f4b71Sopenharmony_ci 4359e41f4b71Sopenharmony_ci**Parameters** 4360e41f4b71Sopenharmony_ci 4361e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4362e41f4b71Sopenharmony_ci| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 4363e41f4b71Sopenharmony_ci| type | string | Yes | Event type. The value **BLEConnectionStateChange** indicates a BLE connection state change event.| 4364e41f4b71Sopenharmony_ci| callback | Callback<[BLEConnectChangedState](#bleconnectchangedstatedeprecated)> | No | Callback to unregister. If this parameter is not set, this API unregistersall callbacks for the specified **type**.| 4365e41f4b71Sopenharmony_ci 4366e41f4b71Sopenharmony_ci**Error codes** 4367e41f4b71Sopenharmony_ci 4368e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4369e41f4b71Sopenharmony_ci 4370e41f4b71Sopenharmony_ci| ID| Error Message| 4371e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 4372e41f4b71Sopenharmony_ci|201 | Permission denied. | 4373e41f4b71Sopenharmony_ci|801 | Capability not supported. | 4374e41f4b71Sopenharmony_ci 4375e41f4b71Sopenharmony_ci**Example** 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_ciObtains the name of the remote BLE device. This API uses an asynchronous callback to return the result. 4393e41f4b71Sopenharmony_ci 4394e41f4b71Sopenharmony_ci> **NOTE**<br> 4395e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#getDeviceName](js-apis-bluetooth-ble.md#getdevicename) instead. 4396e41f4b71Sopenharmony_ci 4397e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4398e41f4b71Sopenharmony_ci 4399e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4400e41f4b71Sopenharmony_ci 4401e41f4b71Sopenharmony_ci**Parameters** 4402e41f4b71Sopenharmony_ci 4403e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4404e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ------------------------------- | 4405e41f4b71Sopenharmony_ci| callback | AsyncCallback<string> | Yes | Callback used to return the remote BLE device name obtained.| 4406e41f4b71Sopenharmony_ci 4407e41f4b71Sopenharmony_ci**Error codes** 4408e41f4b71Sopenharmony_ci 4409e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4410e41f4b71Sopenharmony_ci 4411e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the name of the remote BLE device. This API uses a promise to return the result. 4442e41f4b71Sopenharmony_ci 4443e41f4b71Sopenharmony_ci> **NOTE**<br> 4444e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#getDeviceName](js-apis-bluetooth-ble.md#getdevicename-1) instead. 4445e41f4b71Sopenharmony_ci 4446e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4447e41f4b71Sopenharmony_ci 4448e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4449e41f4b71Sopenharmony_ci 4450e41f4b71Sopenharmony_ci**Return value** 4451e41f4b71Sopenharmony_ci 4452e41f4b71Sopenharmony_ci| Type | Description | 4453e41f4b71Sopenharmony_ci| --------------------- | ---------------------------------- | 4454e41f4b71Sopenharmony_ci| Promise<string> | Promise used to return the remote BLE device name.| 4455e41f4b71Sopenharmony_ci 4456e41f4b71Sopenharmony_ci**Error codes** 4457e41f4b71Sopenharmony_ci 4458e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4459e41f4b71Sopenharmony_ci 4460e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the RSSI of the remote BLE device. This API uses an asynchronous callback to return the result. It can be used only after a connection is set up by calling [connect](#connect). 4490e41f4b71Sopenharmony_ci 4491e41f4b71Sopenharmony_ci> **NOTE**<br> 4492e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#getRssiValue](js-apis-bluetooth-ble.md#getrssivalue) instead. 4493e41f4b71Sopenharmony_ci 4494e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4495e41f4b71Sopenharmony_ci 4496e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4497e41f4b71Sopenharmony_ci 4498e41f4b71Sopenharmony_ci**Parameters** 4499e41f4b71Sopenharmony_ci 4500e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 4501e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- | ------------------------------ | 4502e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | Yes | Callback used to return the RSSI, in dBm.| 4503e41f4b71Sopenharmony_ci 4504e41f4b71Sopenharmony_ci**Error codes** 4505e41f4b71Sopenharmony_ci 4506e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4507e41f4b71Sopenharmony_ci 4508e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciObtains the RSSI of the remote BLE device. This API uses a promise to return the result. It can be used only after a connection is set up by calling [connect](#connect). 4538e41f4b71Sopenharmony_ci 4539e41f4b71Sopenharmony_ci> **NOTE**<br> 4540e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattClientDevice#getRssiValue](js-apis-bluetooth-ble.md#getrssivalue-1) instead. 4541e41f4b71Sopenharmony_ci 4542e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.ACCESS_BLUETOOTH 4543e41f4b71Sopenharmony_ci 4544e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4545e41f4b71Sopenharmony_ci 4546e41f4b71Sopenharmony_ci**Return value** 4547e41f4b71Sopenharmony_ci 4548e41f4b71Sopenharmony_ci| Type | Description | 4549e41f4b71Sopenharmony_ci| --------------------- | --------------------------------- | 4550e41f4b71Sopenharmony_ci| Promise<number> | Promise used to return the RSSI, in dBm.| 4551e41f4b71Sopenharmony_ci 4552e41f4b71Sopenharmony_ci**Error codes** 4553e41f4b71Sopenharmony_ci 4554e41f4b71Sopenharmony_ciFor details about the error codes, see [Bluetooth Error Codes](errorcode-bluetoothManager.md). 4555e41f4b71Sopenharmony_ci 4556e41f4b71Sopenharmony_ci| ID| Error Message| 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**Example** 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_ciEnumerates the scan modes. 4581e41f4b71Sopenharmony_ci 4582e41f4b71Sopenharmony_ci> **NOTE**<br> 4583e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.ScanMode](js-apis-bluetooth-connection.md#scanmode) instead. 4584e41f4b71Sopenharmony_ci 4585e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4586e41f4b71Sopenharmony_ci 4587e41f4b71Sopenharmony_ci| Name | Value | Description | 4588e41f4b71Sopenharmony_ci| ---------------------------------------- | ---- | --------------- | 4589e41f4b71Sopenharmony_ci| SCAN_MODE_NONE | 0 | No scan mode. | 4590e41f4b71Sopenharmony_ci| SCAN_MODE_CONNECTABLE | 1 | Connectable mode. | 4591e41f4b71Sopenharmony_ci| SCAN_MODE_GENERAL_DISCOVERABLE | 2 | General discoverable mode. | 4592e41f4b71Sopenharmony_ci| SCAN_MODE_LIMITED_DISCOVERABLE | 3 | Limited discoverable mode. | 4593e41f4b71Sopenharmony_ci| SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE | 4 | General connectable and discoverable mode.| 4594e41f4b71Sopenharmony_ci| SCAN_MODE_CONNECTABLE_LIMITED_DISCOVERABLE | 5 | Limited connectable and discoverable mode.| 4595e41f4b71Sopenharmony_ci 4596e41f4b71Sopenharmony_ci## BondState<sup>(deprecated)</sup> 4597e41f4b71Sopenharmony_ci 4598e41f4b71Sopenharmony_ciEnumerates the pairing states. 4599e41f4b71Sopenharmony_ci 4600e41f4b71Sopenharmony_ci> **NOTE**<br> 4601e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.BondState](js-apis-bluetooth-connection.md#bondstate) instead. 4602e41f4b71Sopenharmony_ci 4603e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4604e41f4b71Sopenharmony_ci 4605e41f4b71Sopenharmony_ci| Name | Value | Description | 4606e41f4b71Sopenharmony_ci| ------------------ | ---- | ------ | 4607e41f4b71Sopenharmony_ci| BOND_STATE_INVALID | 0 | Invalid pairing.| 4608e41f4b71Sopenharmony_ci| BOND_STATE_BONDING | 1 | Pairing. | 4609e41f4b71Sopenharmony_ci| BOND_STATE_BONDED | 2 | Paired. | 4610e41f4b71Sopenharmony_ci 4611e41f4b71Sopenharmony_ci 4612e41f4b71Sopenharmony_ci## SppOption<sup>(deprecated)</sup> 4613e41f4b71Sopenharmony_ci 4614e41f4b71Sopenharmony_ciDefines the SPP configuration parameters. 4615e41f4b71Sopenharmony_ci 4616e41f4b71Sopenharmony_ci> **NOTE**<br> 4617e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [socket.SppOption](js-apis-bluetooth-socket.md#sppoptions) instead. 4618e41f4b71Sopenharmony_ci 4619e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4620e41f4b71Sopenharmony_ci 4621e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4622e41f4b71Sopenharmony_ci| ------ | ------------------- | ---- | ---- | ----------- | 4623e41f4b71Sopenharmony_ci| uuid | string | Yes | Yes | UUID of the SPP.| 4624e41f4b71Sopenharmony_ci| secure | boolean | Yes | Yes | Whether it is a secure channel. | 4625e41f4b71Sopenharmony_ci| type | [SppType](#spptypedeprecated) | Yes | Yes | Type of the SPP link. | 4626e41f4b71Sopenharmony_ci 4627e41f4b71Sopenharmony_ci 4628e41f4b71Sopenharmony_ci## SppType<sup>(deprecated)</sup> 4629e41f4b71Sopenharmony_ci 4630e41f4b71Sopenharmony_ciEnumerates the SPP link types. 4631e41f4b71Sopenharmony_ci 4632e41f4b71Sopenharmony_ci> **NOTE**<br> 4633e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [socket.SppType](js-apis-bluetooth-socket.md#spptype) instead. 4634e41f4b71Sopenharmony_ci 4635e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4636e41f4b71Sopenharmony_ci 4637e41f4b71Sopenharmony_ci| Name | Value | Description | 4638e41f4b71Sopenharmony_ci| ---------- | ---- | ------------- | 4639e41f4b71Sopenharmony_ci| SPP_RFCOMM | 0 | Radio frequency communication (RFCOMM) link type.| 4640e41f4b71Sopenharmony_ci 4641e41f4b71Sopenharmony_ci 4642e41f4b71Sopenharmony_ci## GattService<sup>(deprecated)</sup> 4643e41f4b71Sopenharmony_ci 4644e41f4b71Sopenharmony_ciDefines the GATT service API parameters. 4645e41f4b71Sopenharmony_ci 4646e41f4b71Sopenharmony_ci> **NOTE**<br> 4647e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.GattService](js-apis-bluetooth-ble.md#gattservice) instead. 4648e41f4b71Sopenharmony_ci 4649e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4650e41f4b71Sopenharmony_ci 4651e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4652e41f4b71Sopenharmony_ci| --------------- | ---------------------------------------- | ---- | ---- | ---------------------------------------- | 4653e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | Yes | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**.| 4654e41f4b71Sopenharmony_ci| isPrimary | boolean | Yes | Yes | Whether the service is a primary service. The value **true** means a primary service. | 4655e41f4b71Sopenharmony_ci| characteristics | Array<[BLECharacteristic](#blecharacteristicdeprecated)> | Yes | Yes | List of characteristics of the service. | 4656e41f4b71Sopenharmony_ci| includeServices | Array<[GattService](#gattservicedeprecated)> | Yes | Yes | Services on which the service depends. | 4657e41f4b71Sopenharmony_ci 4658e41f4b71Sopenharmony_ci 4659e41f4b71Sopenharmony_ci## BLECharacteristic<sup>(deprecated)</sup> 4660e41f4b71Sopenharmony_ci 4661e41f4b71Sopenharmony_ciDefines the characteristic API parameters. 4662e41f4b71Sopenharmony_ci 4663e41f4b71Sopenharmony_ci> **NOTE**<br> 4664e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.BLECharacteristic](js-apis-bluetooth-ble.md#blecharacteristic) instead. 4665e41f4b71Sopenharmony_ci 4666e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4667e41f4b71Sopenharmony_ci 4668e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4669e41f4b71Sopenharmony_ci| ------------------- | ---------------------------------------- | ---- | ---- | ---------------------------------------- | 4670e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | Yes | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**.| 4671e41f4b71Sopenharmony_ci| characteristicUuid | string | Yes | Yes | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**.| 4672e41f4b71Sopenharmony_ci| characteristicValue | ArrayBuffer | Yes | Yes | Binary value of the characteristic. | 4673e41f4b71Sopenharmony_ci| descriptors | Array<[BLEDescriptor](#bledescriptordeprecated)> | Yes | Yes | List of descriptors of the characteristic. | 4674e41f4b71Sopenharmony_ci 4675e41f4b71Sopenharmony_ci 4676e41f4b71Sopenharmony_ci## BLEDescriptor<sup>(deprecated)</sup> 4677e41f4b71Sopenharmony_ci 4678e41f4b71Sopenharmony_ciDefines the descriptor API parameters. 4679e41f4b71Sopenharmony_ci 4680e41f4b71Sopenharmony_ci> **NOTE**<br> 4681e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.BLEDescriptor](js-apis-bluetooth-ble.md#bledescriptor) instead. 4682e41f4b71Sopenharmony_ci 4683e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4684e41f4b71Sopenharmony_ci 4685e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4686e41f4b71Sopenharmony_ci| ------------------ | ----------- | ---- | ---- | ---------------------------------------- | 4687e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | Yes | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**.| 4688e41f4b71Sopenharmony_ci| characteristicUuid | string | Yes | Yes | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**.| 4689e41f4b71Sopenharmony_ci| descriptorUuid | string | Yes | Yes | UUID of the descriptor, for example, **00002902-0000-1000-8000-00805f9b34fb**.| 4690e41f4b71Sopenharmony_ci| descriptorValue | ArrayBuffer | Yes | Yes | Binary value of the descriptor. | 4691e41f4b71Sopenharmony_ci 4692e41f4b71Sopenharmony_ci 4693e41f4b71Sopenharmony_ci## NotifyCharacteristic<sup>(deprecated)</sup> 4694e41f4b71Sopenharmony_ci 4695e41f4b71Sopenharmony_ciDefines the parameters in the notifications sent when the server characteristic value changes. 4696e41f4b71Sopenharmony_ci 4697e41f4b71Sopenharmony_ci> **NOTE**<br> 4698e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.NotifyCharacteristic](js-apis-bluetooth-ble.md#notifycharacteristic) instead. 4699e41f4b71Sopenharmony_ci 4700e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4701e41f4b71Sopenharmony_ci 4702e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4703e41f4b71Sopenharmony_ci| ------------------- | ----------- | ---- | ---- | ---------------------------------------- | 4704e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | Yes | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**.| 4705e41f4b71Sopenharmony_ci| characteristicUuid | string | Yes | Yes | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**.| 4706e41f4b71Sopenharmony_ci| characteristicValue | ArrayBuffer | Yes | Yes | Binary value of the characteristic. | 4707e41f4b71Sopenharmony_ci| confirm | boolean | Yes | Yes | Whether the notification needs to be confirmed by the remote end. For a notification, set it to **true**. In this case, the remote end must confirm the receipt of the notification. For an indication, set it to **false**. In this case, the remote end does not need to confirm the receipt of the notification.| 4708e41f4b71Sopenharmony_ci 4709e41f4b71Sopenharmony_ci 4710e41f4b71Sopenharmony_ci## CharacteristicReadRequest<sup>(deprecated)</sup> 4711e41f4b71Sopenharmony_ci 4712e41f4b71Sopenharmony_ciDefines the parameters of the **CharacteristicReadReq** event received by the server. 4713e41f4b71Sopenharmony_ci 4714e41f4b71Sopenharmony_ci> **NOTE**<br> 4715e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.CharacteristicReadRequest](js-apis-bluetooth-ble.md#characteristicreadrequest) instead. 4716e41f4b71Sopenharmony_ci 4717e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4718e41f4b71Sopenharmony_ci 4719e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4720e41f4b71Sopenharmony_ci| ------------------ | ------ | ---- | ---- | ---------------------------------------- | 4721e41f4b71Sopenharmony_ci| deviceId | string | Yes | No | Address of the remote device that sends the **CharacteristicReadReq** event, for example, XX:XX:XX:XX:XX:XX.| 4722e41f4b71Sopenharmony_ci| transId | number | Yes | No | Transmission ID of the read request. The response returned by the server must use the same transmission ID. | 4723e41f4b71Sopenharmony_ci| offset | number | Yes | No | Position from which the characteristic value is read. For example, **k** means to read from the kth byte. The response returned by the server must use the same offset.| 4724e41f4b71Sopenharmony_ci| characteristicUuid | string | Yes | No | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**.| 4725e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | No | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**.| 4726e41f4b71Sopenharmony_ci 4727e41f4b71Sopenharmony_ci 4728e41f4b71Sopenharmony_ci## CharacteristicWriteRequest<sup>(deprecated)</sup> 4729e41f4b71Sopenharmony_ci 4730e41f4b71Sopenharmony_ciDefines the parameters of the **CharacteristicWriteReq** event received by the server. 4731e41f4b71Sopenharmony_ci 4732e41f4b71Sopenharmony_ci> **NOTE**<br> 4733e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.CharacteristicWriteRequest](js-apis-bluetooth-ble.md#characteristicwriterequest) instead. 4734e41f4b71Sopenharmony_ci 4735e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4736e41f4b71Sopenharmony_ci 4737e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4738e41f4b71Sopenharmony_ci| ------------------ | ------ | ---- | ---- | ---------------------------------------- | 4739e41f4b71Sopenharmony_ci| deviceId | string | Yes | No | Address of the remote device that sends the **CharacteristicWriteReq** event, for example, XX:XX:XX:XX:XX:XX.| 4740e41f4b71Sopenharmony_ci| transId | number | Yes | No | Transmission ID of the write request. The response returned by the server must use the same transmission ID. | 4741e41f4b71Sopenharmony_ci| offset | number | Yes | No | Start position for writing the characteristic value. For example, **k** means to write from the kth byte. The response returned by the server must use the same offset.| 4742e41f4b71Sopenharmony_ci| descriptorUuid | string | Yes | No | UUID of the descriptor, for example, **00002902-0000-1000-8000-00805f9b34fb**.| 4743e41f4b71Sopenharmony_ci| characteristicUuid | string | Yes | No | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**.| 4744e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | No | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**.| 4745e41f4b71Sopenharmony_ci 4746e41f4b71Sopenharmony_ci 4747e41f4b71Sopenharmony_ci## DescriptorReadRequest<sup>(deprecated)</sup> 4748e41f4b71Sopenharmony_ci 4749e41f4b71Sopenharmony_ciDefines the parameters of the **DescriptorReadReq** event received by the server. 4750e41f4b71Sopenharmony_ci 4751e41f4b71Sopenharmony_ci> **NOTE**<br> 4752e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.DescriptorReadRequest](js-apis-bluetooth-ble.md#descriptorreadrequest) instead. 4753e41f4b71Sopenharmony_ci 4754e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4755e41f4b71Sopenharmony_ci 4756e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4757e41f4b71Sopenharmony_ci| ------------------ | ------ | ---- | ---- | ---------------------------------------- | 4758e41f4b71Sopenharmony_ci| deviceId | string | Yes | No | Address of the remote device that sends a **DescriptorReadReq** event, for example, XX:XX:XX:XX:XX:XX.| 4759e41f4b71Sopenharmony_ci| transId | number | Yes | No | Transmission ID of the read request. The response returned by the server must use the same transmission ID. | 4760e41f4b71Sopenharmony_ci| offset | number | Yes | No | Position from which the descriptor is read. For example, **k** means to read from the kth byte. The response returned by the server must use the same offset.| 4761e41f4b71Sopenharmony_ci| descriptorUuid | string | Yes | No | UUID of the descriptor, for example, **00002902-0000-1000-8000-00805f9b34fb**.| 4762e41f4b71Sopenharmony_ci| characteristicUuid | string | Yes | No | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**.| 4763e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | No | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**.| 4764e41f4b71Sopenharmony_ci 4765e41f4b71Sopenharmony_ci 4766e41f4b71Sopenharmony_ci## DescriptorWriteRequest<sup>(deprecated)</sup> 4767e41f4b71Sopenharmony_ci 4768e41f4b71Sopenharmony_ciDefines the parameters of the **DescriptorWriteReq** event received by the server. 4769e41f4b71Sopenharmony_ci 4770e41f4b71Sopenharmony_ci> **NOTE**<br> 4771e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.DescriptorWriteRequest](js-apis-bluetooth-ble.md#descriptorwriterequest) instead. 4772e41f4b71Sopenharmony_ci 4773e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4774e41f4b71Sopenharmony_ci 4775e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4776e41f4b71Sopenharmony_ci| ------------------ | ----------- | ---- | ---- | ---------------------------------------- | 4777e41f4b71Sopenharmony_ci| deviceId | string | Yes | No | Address of the remote device that sends a **DescriptorWriteReq** event, for example, XX:XX:XX:XX:XX:XX.| 4778e41f4b71Sopenharmony_ci| transId | number | Yes | No | Transmission ID of the write request. The response returned by the server must use the same transmission ID. | 4779e41f4b71Sopenharmony_ci| offset | number | Yes | No | Start position for writing the descriptor. For example, **k** means to write from the kth byte. The response returned by the server must use the same offset.| 4780e41f4b71Sopenharmony_ci| isPrep | boolean | Yes | No | Whether the write request is executed immediately. | 4781e41f4b71Sopenharmony_ci| needRsp | boolean | Yes | No | Whether to send a response to the GATT client. | 4782e41f4b71Sopenharmony_ci| value | ArrayBuffer | Yes | No | Binary value of the descriptor to write. | 4783e41f4b71Sopenharmony_ci| descriptorUuid | string | Yes | No | UUID of the descriptor, for example, **00002902-0000-1000-8000-00805f9b34fb**.| 4784e41f4b71Sopenharmony_ci| characteristicUuid | string | Yes | No | UUID of the characteristic, for example, **00002a11-0000-1000-8000-00805f9b34fb**.| 4785e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | No | UUID of the service, for example, **00001888-0000-1000-8000-00805f9b34fb**.| 4786e41f4b71Sopenharmony_ci 4787e41f4b71Sopenharmony_ci 4788e41f4b71Sopenharmony_ci## ServerResponse<sup>(deprecated)</sup> 4789e41f4b71Sopenharmony_ci 4790e41f4b71Sopenharmony_ciDefines the parameters of the server's response to the GATT client's read/write request. 4791e41f4b71Sopenharmony_ci 4792e41f4b71Sopenharmony_ci> **NOTE**<br> 4793e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.ServerResponse](js-apis-bluetooth-ble.md#serverresponse) instead. 4794e41f4b71Sopenharmony_ci 4795e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4796e41f4b71Sopenharmony_ci 4797e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4798e41f4b71Sopenharmony_ci| -------- | ----------- | ---- | ---- | -------------------------------------- | 4799e41f4b71Sopenharmony_ci| deviceId | string | Yes | No | Address of the remote device, for example, XX:XX:XX:XX:XX:XX. | 4800e41f4b71Sopenharmony_ci| transId | number | Yes | No | Transmission ID of the request. The value must be the same as the ID carried in the read/write request received. | 4801e41f4b71Sopenharmony_ci| status | number | Yes | No | Response state. Set this parameter to **0**, which indicates a normal response. | 4802e41f4b71Sopenharmony_ci| offset | number | Yes | No | Start read/write position. The value must be the same as the offset carried in the read/write request.| 4803e41f4b71Sopenharmony_ci| value | ArrayBuffer | Yes | No | Binary data in the response. | 4804e41f4b71Sopenharmony_ci 4805e41f4b71Sopenharmony_ci 4806e41f4b71Sopenharmony_ci## BLEConnectChangedState<sup>(deprecated)</sup> 4807e41f4b71Sopenharmony_ci 4808e41f4b71Sopenharmony_ciDefines the parameters of **BLEConnectChangedState**. 4809e41f4b71Sopenharmony_ci 4810e41f4b71Sopenharmony_ci> **NOTE**<br> 4811e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [BLEConnectionChangeState](js-apis-bluetooth-ble.md#bleconnectionchangestate) instead. 4812e41f4b71Sopenharmony_ci 4813e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4814e41f4b71Sopenharmony_ci 4815e41f4b71Sopenharmony_ci| Name | Type | Readable| Writable| Description | 4816e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- | ---- | ---- | --------------------------------------------- | 4817e41f4b71Sopenharmony_ci| deviceId | string | Yes | No | Address of the remote device, for example, XX:XX:XX:XX:XX:XX.| 4818e41f4b71Sopenharmony_ci| state | [ProfileConnectionState](#profileconnectionstatedeprecated) | Yes | Yes | BLE connection state. | 4819e41f4b71Sopenharmony_ci 4820e41f4b71Sopenharmony_ci 4821e41f4b71Sopenharmony_ci## ProfileConnectionState<sup>(deprecated)</sup> 4822e41f4b71Sopenharmony_ci 4823e41f4b71Sopenharmony_ciEnumerates the profile connection states. 4824e41f4b71Sopenharmony_ci 4825e41f4b71Sopenharmony_ci> **NOTE**<br> 4826e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [constant.ProfileConnectionState](js-apis-bluetooth-constant.md#profileconnectionstate) instead. 4827e41f4b71Sopenharmony_ci 4828e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4829e41f4b71Sopenharmony_ci 4830e41f4b71Sopenharmony_ci| Name | Value | Description | 4831e41f4b71Sopenharmony_ci| ------------------- | ---- | -------------- | 4832e41f4b71Sopenharmony_ci| STATE_DISCONNECTED | 0 | Disconnected. | 4833e41f4b71Sopenharmony_ci| STATE_CONNECTING | 1 | Connecting.| 4834e41f4b71Sopenharmony_ci| STATE_CONNECTED | 2 | Connected. | 4835e41f4b71Sopenharmony_ci| STATE_DISCONNECTING | 3 | Disconnecting.| 4836e41f4b71Sopenharmony_ci 4837e41f4b71Sopenharmony_ci 4838e41f4b71Sopenharmony_ci## ScanFilter<sup>(deprecated)</sup> 4839e41f4b71Sopenharmony_ci 4840e41f4b71Sopenharmony_ciDefines the scan filter parameters. 4841e41f4b71Sopenharmony_ci 4842e41f4b71Sopenharmony_ci> **NOTE**<br> 4843e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.ScanFilter](js-apis-bluetooth-ble.md#scanfilter) instead. 4844e41f4b71Sopenharmony_ci 4845e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4846e41f4b71Sopenharmony_ci 4847e41f4b71Sopenharmony_ci| Name | Type | Readable| Writable| Description | 4848e41f4b71Sopenharmony_ci| ---------------------------------------- | ----------- | ---- | ---- | ------------------------------------------------------------ | 4849e41f4b71Sopenharmony_ci| deviceId | string | Yes | Yes | Address of the BLE device to filter, for example, XX:XX:XX:XX:XX:XX. | 4850e41f4b71Sopenharmony_ci| name | string | Yes | Yes | Name of the BLE device to filter. | 4851e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | Yes | Service UUID of the device to filter, for example, **00001888-0000-1000-8000-00805f9b34fb**.| 4852e41f4b71Sopenharmony_ci| serviceUuidMask | string | Yes | Yes | Service UUID mask of the device to filter, for example, **FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF**.| 4853e41f4b71Sopenharmony_ci| serviceSolicitationUuid | string | Yes | Yes | Service solicitation UUID of the device to filter, for example, **00001888-0000-1000-8000-00805F9B34FB**.| 4854e41f4b71Sopenharmony_ci| serviceSolicitationUuidMask | string | Yes | Yes | Service solicitation UUID mask of the device to filter, for example, **FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF**.| 4855e41f4b71Sopenharmony_ci| serviceData | ArrayBuffer | Yes | Yes | Service data of the device to filter, for example, **[0x90, 0x00, 0xF1, 0xF2]**.| 4856e41f4b71Sopenharmony_ci| serviceDataMask | ArrayBuffer | Yes | Yes | Service data mask of the device to filter, for example, **[0xFF,0xFF,0xFF,0xFF]**.| 4857e41f4b71Sopenharmony_ci| manufactureId | number | Yes | Yes | Manufacturer ID of the device to filter, for example, **0x0006**. | 4858e41f4b71Sopenharmony_ci| manufactureData | ArrayBuffer | Yes | Yes | Manufacturer data of the device to filter, for example, **[0x1F,0x2F,0x3F]**.| 4859e41f4b71Sopenharmony_ci| manufactureDataMask | ArrayBuffer | Yes | Yes | Manufacturer data mask of the device to filter, for example, **[0xFF, 0xFF, 0xFF]**.| 4860e41f4b71Sopenharmony_ci 4861e41f4b71Sopenharmony_ci 4862e41f4b71Sopenharmony_ci## ScanOptions<sup>(deprecated)</sup> 4863e41f4b71Sopenharmony_ci 4864e41f4b71Sopenharmony_ciDefines the scan configuration parameters. 4865e41f4b71Sopenharmony_ci 4866e41f4b71Sopenharmony_ci> **NOTE**<br> 4867e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.ScanOptions](js-apis-bluetooth-ble.md#scanoptions) instead. 4868e41f4b71Sopenharmony_ci 4869e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4870e41f4b71Sopenharmony_ci 4871e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4872e41f4b71Sopenharmony_ci| --------- | ----------------------- | ---- | ---- | -------------------------------------- | 4873e41f4b71Sopenharmony_ci| interval | number | Yes | Yes | Delay in reporting the scan result. The default value is **0**. | 4874e41f4b71Sopenharmony_ci| dutyMode | [ScanDuty](#scandutydeprecated) | Yes | Yes | Scan duty. The default value is SCAN_MODE_LOW_POWER. | 4875e41f4b71Sopenharmony_ci| matchMode | [MatchMode](#matchmodedeprecated) | Yes | Yes | Hardware filtering match mode. The default value is **MATCH_MODE_AGGRESSIVE**.| 4876e41f4b71Sopenharmony_ci 4877e41f4b71Sopenharmony_ci 4878e41f4b71Sopenharmony_ci## ScanDuty<sup>(deprecated)</sup> 4879e41f4b71Sopenharmony_ci 4880e41f4b71Sopenharmony_ciEnumerates the scan duty options. 4881e41f4b71Sopenharmony_ci 4882e41f4b71Sopenharmony_ci> **NOTE**<br> 4883e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.ScanDuty](js-apis-bluetooth-ble.md#scanduty) instead. 4884e41f4b71Sopenharmony_ci 4885e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4886e41f4b71Sopenharmony_ci 4887e41f4b71Sopenharmony_ci| Name | Value | Description | 4888e41f4b71Sopenharmony_ci| --------------------- | ---- | ------------ | 4889e41f4b71Sopenharmony_ci| SCAN_MODE_LOW_POWER | 0 | Low-power mode, which is the default value.| 4890e41f4b71Sopenharmony_ci| SCAN_MODE_BALANCED | 1 | Balanced mode. | 4891e41f4b71Sopenharmony_ci| SCAN_MODE_LOW_LATENCY | 2 | Low-latency mode. | 4892e41f4b71Sopenharmony_ci 4893e41f4b71Sopenharmony_ci 4894e41f4b71Sopenharmony_ci## MatchMode<sup>(deprecated)</sup> 4895e41f4b71Sopenharmony_ci 4896e41f4b71Sopenharmony_ciEnumerates the hardware match modes of BLE scan filters. 4897e41f4b71Sopenharmony_ci 4898e41f4b71Sopenharmony_ci> **NOTE**<br> 4899e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.MatchMode](js-apis-bluetooth-ble.md#matchmode) instead. 4900e41f4b71Sopenharmony_ci 4901e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4902e41f4b71Sopenharmony_ci 4903e41f4b71Sopenharmony_ci| Name | Value | Description | 4904e41f4b71Sopenharmony_ci| --------------------- | ---- | ---------------------------------------- | 4905e41f4b71Sopenharmony_ci| MATCH_MODE_AGGRESSIVE | 1 | Hardware reports the scan result with a lower threshold of signal strength and few number of matches in a duration. This is the default value.| 4906e41f4b71Sopenharmony_ci| MATCH_MODE_STICKY | 2 | Hardware reports the scan result with a higher threshold of signal strength and sightings. | 4907e41f4b71Sopenharmony_ci 4908e41f4b71Sopenharmony_ci 4909e41f4b71Sopenharmony_ci## ScanResult<sup>(deprecated)</sup> 4910e41f4b71Sopenharmony_ci 4911e41f4b71Sopenharmony_ciDefines the scan result. 4912e41f4b71Sopenharmony_ci 4913e41f4b71Sopenharmony_ci> **NOTE**<br> 4914e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.ScanResult](js-apis-bluetooth-ble.md#scanresult) instead. 4915e41f4b71Sopenharmony_ci 4916e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4917e41f4b71Sopenharmony_ci 4918e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4919e41f4b71Sopenharmony_ci| -------- | ----------- | ---- | ---- | ---------------------------------- | 4920e41f4b71Sopenharmony_ci| deviceId | string | Yes | No | Address of the scanned device, for example, XX:XX:XX:XX:XX:XX.| 4921e41f4b71Sopenharmony_ci| rssi | number | Yes | No | RSSI of the device. | 4922e41f4b71Sopenharmony_ci| data | ArrayBuffer | Yes | No | Advertisement packets sent by the device. | 4923e41f4b71Sopenharmony_ci 4924e41f4b71Sopenharmony_ci 4925e41f4b71Sopenharmony_ci## BluetoothState<sup>(deprecated)</sup> 4926e41f4b71Sopenharmony_ci 4927e41f4b71Sopenharmony_ciEnumerates the Bluetooth states. 4928e41f4b71Sopenharmony_ci 4929e41f4b71Sopenharmony_ci> **NOTE**<br> 4930e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [access.BluetoothState](js-apis-bluetooth-access.md#bluetoothstate) instead. 4931e41f4b71Sopenharmony_ci 4932e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4933e41f4b71Sopenharmony_ci 4934e41f4b71Sopenharmony_ci| Name | Value | Description | 4935e41f4b71Sopenharmony_ci| --------------------- | ---- | ------------------ | 4936e41f4b71Sopenharmony_ci| STATE_OFF | 0 | Bluetooth is turned off. | 4937e41f4b71Sopenharmony_ci| STATE_TURNING_ON | 1 | Bluetooth is being turned on. | 4938e41f4b71Sopenharmony_ci| STATE_ON | 2 | Bluetooth is turned on. | 4939e41f4b71Sopenharmony_ci| STATE_TURNING_OFF | 3 | Bluetooth is being turned off. | 4940e41f4b71Sopenharmony_ci| STATE_BLE_TURNING_ON | 4 | The LE-only mode is being turned on for Bluetooth.| 4941e41f4b71Sopenharmony_ci| STATE_BLE_ON | 5 | Bluetooth is in LE-only mode. | 4942e41f4b71Sopenharmony_ci| STATE_BLE_TURNING_OFF | 6 | The LE-only mode is being turned off for Bluetooth.| 4943e41f4b71Sopenharmony_ci 4944e41f4b71Sopenharmony_ci 4945e41f4b71Sopenharmony_ci## AdvertiseSetting<sup>(deprecated)</sup> 4946e41f4b71Sopenharmony_ci 4947e41f4b71Sopenharmony_ciDefines the BLE advertising parameters. 4948e41f4b71Sopenharmony_ci 4949e41f4b71Sopenharmony_ci> **NOTE**<br> 4950e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.AdvertiseSetting](js-apis-bluetooth-ble.md#advertisesetting) instead. 4951e41f4b71Sopenharmony_ci 4952e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4953e41f4b71Sopenharmony_ci 4954e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4955e41f4b71Sopenharmony_ci| ----------- | ------- | ---- | ---- | ---------------------------------------- | 4956e41f4b71Sopenharmony_ci| interval | number | Yes | Yes | Interval for BLE advertising. The minimum value is **32** slots (20 ms). The maximum value is **16384** slots. The default value is **1600** slots (1s).| 4957e41f4b71Sopenharmony_ci| txPower | number | Yes | Yes | Transmit power, in dBm. The value range is -127 to 1. The default value is **-7**. | 4958e41f4b71Sopenharmony_ci| connectable | boolean | Yes | Yes | Whether the advertisement is connectable. The default value is **true**. | 4959e41f4b71Sopenharmony_ci 4960e41f4b71Sopenharmony_ci 4961e41f4b71Sopenharmony_ci## AdvertiseData<sup>(deprecated)</sup> 4962e41f4b71Sopenharmony_ci 4963e41f4b71Sopenharmony_ciDefines the content of a BLE advertisement packet. 4964e41f4b71Sopenharmony_ci 4965e41f4b71Sopenharmony_ci> **NOTE**<br> 4966e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.AdvertiseData](js-apis-bluetooth-ble.md#advertisedata) instead. 4967e41f4b71Sopenharmony_ci 4968e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4969e41f4b71Sopenharmony_ci 4970e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4971e41f4b71Sopenharmony_ci| --------------- | ---------------------------------------- | ---- | ---- | --------------------------- | 4972e41f4b71Sopenharmony_ci| serviceUuids | Array<string> | Yes | Yes | List of service UUIDs to broadcast.| 4973e41f4b71Sopenharmony_ci| manufactureData | Array<[ManufactureData](#manufacturedatadeprecated)> | Yes | Yes | List of manufacturers to broadcast. | 4974e41f4b71Sopenharmony_ci| serviceData | Array<[ServiceData](#servicedatadeprecated)> | Yes | Yes | List of service data to broadcast. | 4975e41f4b71Sopenharmony_ci 4976e41f4b71Sopenharmony_ci 4977e41f4b71Sopenharmony_ci## ManufactureData<sup>(deprecated)</sup> 4978e41f4b71Sopenharmony_ci 4979e41f4b71Sopenharmony_ciDefines the content of a BLE advertisement packet. 4980e41f4b71Sopenharmony_ci 4981e41f4b71Sopenharmony_ci> **NOTE**<br> 4982e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.ManufactureData](js-apis-bluetooth-ble.md#manufacturedata) instead. 4983e41f4b71Sopenharmony_ci 4984e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 4985e41f4b71Sopenharmony_ci 4986e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 4987e41f4b71Sopenharmony_ci| ---------------- | ------------------- | ---- | ---- | ------------------ | 4988e41f4b71Sopenharmony_ci| manufactureId | number | Yes | Yes | Manufacturer ID allocated by the Bluetooth SIG.| 4989e41f4b71Sopenharmony_ci| manufactureValue | ArrayBuffer | Yes | Yes | Manufacturer data. | 4990e41f4b71Sopenharmony_ci 4991e41f4b71Sopenharmony_ci 4992e41f4b71Sopenharmony_ci## ServiceData<sup>(deprecated)</sup> 4993e41f4b71Sopenharmony_ci 4994e41f4b71Sopenharmony_ciDefines the service data contained in an advertisement packet. 4995e41f4b71Sopenharmony_ci 4996e41f4b71Sopenharmony_ci> **NOTE**<br> 4997e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [ble.ServiceData](js-apis-bluetooth-ble.md#servicedata) instead. 4998e41f4b71Sopenharmony_ci 4999e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 5000e41f4b71Sopenharmony_ci 5001e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 5002e41f4b71Sopenharmony_ci| ------------ | ----------- | ---- | ---- | ---------- | 5003e41f4b71Sopenharmony_ci| serviceUuid | string | Yes | Yes | Service UUID.| 5004e41f4b71Sopenharmony_ci| serviceValue | ArrayBuffer | Yes | Yes | Service data. | 5005e41f4b71Sopenharmony_ci 5006e41f4b71Sopenharmony_ci 5007e41f4b71Sopenharmony_ci## PinRequiredParam<sup>(deprecated)</sup> 5008e41f4b71Sopenharmony_ci 5009e41f4b71Sopenharmony_ciDefines the pairing request parameters. 5010e41f4b71Sopenharmony_ci 5011e41f4b71Sopenharmony_ci> **NOTE**<br> 5012e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.PinRequiredParam](js-apis-bluetooth-connection.md#pinrequiredparam) instead. 5013e41f4b71Sopenharmony_ci 5014e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 5015e41f4b71Sopenharmony_ci 5016e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 5017e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ---- | ----------- | 5018e41f4b71Sopenharmony_ci| deviceId | string | Yes | No | ID of the device to pair.| 5019e41f4b71Sopenharmony_ci| pinCode | string | Yes | No | Key for the device pairing. | 5020e41f4b71Sopenharmony_ci 5021e41f4b71Sopenharmony_ci 5022e41f4b71Sopenharmony_ci## BondStateParam<sup>(deprecated)</sup> 5023e41f4b71Sopenharmony_ci 5024e41f4b71Sopenharmony_ciDefines the pairing state parameters. 5025e41f4b71Sopenharmony_ci 5026e41f4b71Sopenharmony_ci> **NOTE**<br> 5027e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.BondStateParam](js-apis-bluetooth-connection.md#bondstateparam) instead. 5028e41f4b71Sopenharmony_ci 5029e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 5030e41f4b71Sopenharmony_ci 5031e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 5032e41f4b71Sopenharmony_ci| -------- | ------ | ---- | ---- | ----------- | 5033e41f4b71Sopenharmony_ci| deviceId | string | Yes | No | ID of the device to pair.| 5034e41f4b71Sopenharmony_ci| state | BondState | Yes | No | State of the device.| 5035e41f4b71Sopenharmony_ci 5036e41f4b71Sopenharmony_ci 5037e41f4b71Sopenharmony_ci## StateChangeParam<sup>(deprecated)</sup> 5038e41f4b71Sopenharmony_ci 5039e41f4b71Sopenharmony_ciDefines the profile state change parameters. 5040e41f4b71Sopenharmony_ci 5041e41f4b71Sopenharmony_ci> **NOTE**<br> 5042e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [baseProfile.StateChangeParam](js-apis-bluetooth-baseProfile.md#statechangeparam) instead. 5043e41f4b71Sopenharmony_ci 5044e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 5045e41f4b71Sopenharmony_ci 5046e41f4b71Sopenharmony_ci| Name | Type | Readable| Writable| Description | 5047e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------- | ---- | ---- | ------------------------------- | 5048e41f4b71Sopenharmony_ci| deviceId | string | Yes | No | Address of a Bluetooth device. | 5049e41f4b71Sopenharmony_ci| state | [ProfileConnectionState](#profileconnectionstatedeprecated) | Yes | No | Profile connection state of the device.| 5050e41f4b71Sopenharmony_ci 5051e41f4b71Sopenharmony_ci 5052e41f4b71Sopenharmony_ci## DeviceClass<sup>(deprecated)</sup> 5053e41f4b71Sopenharmony_ci 5054e41f4b71Sopenharmony_ciDefines the class of a Bluetooth device. 5055e41f4b71Sopenharmony_ci 5056e41f4b71Sopenharmony_ci> **NOTE**<br> 5057e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [connection.DeviceClass](js-apis-bluetooth-connection.md#deviceclass) instead. 5058e41f4b71Sopenharmony_ci 5059e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 5060e41f4b71Sopenharmony_ci 5061e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description | 5062e41f4b71Sopenharmony_ci| --------------- | ----------------------------------- | ---- | ---- | ---------------- | 5063e41f4b71Sopenharmony_ci| majorClass | [MajorClass](#majorclassdeprecated) | Yes | No | Major classes of Bluetooth devices. | 5064e41f4b71Sopenharmony_ci| majorMinorClass | [MajorMinorClass](#majorminorclassdeprecated) | Yes | No | Major and minor classes of Bluetooth devices.| 5065e41f4b71Sopenharmony_ci| classOfDevice | number | Yes | No | Class of the device. | 5066e41f4b71Sopenharmony_ci 5067e41f4b71Sopenharmony_ci 5068e41f4b71Sopenharmony_ci## MajorClass<sup>(deprecated)</sup> 5069e41f4b71Sopenharmony_ci 5070e41f4b71Sopenharmony_ciEnumerates the major classes of Bluetooth devices. 5071e41f4b71Sopenharmony_ci 5072e41f4b71Sopenharmony_ci> **NOTE**<br> 5073e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [constant.MajorClass](js-apis-bluetooth-constant.md#majorclass) instead. 5074e41f4b71Sopenharmony_ci 5075e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 5076e41f4b71Sopenharmony_ci 5077e41f4b71Sopenharmony_ci| Name | Value | Description | 5078e41f4b71Sopenharmony_ci| ------------------- | ------ | ---------- | 5079e41f4b71Sopenharmony_ci| MAJOR_MISC | 0x0000 | Miscellaneous device. | 5080e41f4b71Sopenharmony_ci| MAJOR_COMPUTER | 0x0100 | Computer. | 5081e41f4b71Sopenharmony_ci| MAJOR_PHONE | 0x0200 | Mobile phone. | 5082e41f4b71Sopenharmony_ci| MAJOR_NETWORKING | 0x0300 | Network device. | 5083e41f4b71Sopenharmony_ci| MAJOR_AUDIO_VIDEO | 0x0400 | Audio or video device.| 5084e41f4b71Sopenharmony_ci| MAJOR_PERIPHERAL | 0x0500 | Peripheral device. | 5085e41f4b71Sopenharmony_ci| MAJOR_IMAGING | 0x0600 | Imaging device. | 5086e41f4b71Sopenharmony_ci| MAJOR_WEARABLE | 0x0700 | Wearable device. | 5087e41f4b71Sopenharmony_ci| MAJOR_TOY | 0x0800 | Toy. | 5088e41f4b71Sopenharmony_ci| MAJOR_HEALTH | 0x0900 | Health device. | 5089e41f4b71Sopenharmony_ci| MAJOR_UNCATEGORIZED | 0x1F00 | Unclassified device. | 5090e41f4b71Sopenharmony_ci 5091e41f4b71Sopenharmony_ci 5092e41f4b71Sopenharmony_ci## MajorMinorClass<sup>(deprecated)</sup> 5093e41f4b71Sopenharmony_ci 5094e41f4b71Sopenharmony_ciEnumerates the major and minor classes of Bluetooth devices. 5095e41f4b71Sopenharmony_ci 5096e41f4b71Sopenharmony_ci> **NOTE**<br> 5097e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [constant.MajorMinorClass](js-apis-bluetooth-constant.md#majorminorclass) instead. 5098e41f4b71Sopenharmony_ci 5099e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 5100e41f4b71Sopenharmony_ci 5101e41f4b71Sopenharmony_ci| Name | Value | Description | 5102e41f4b71Sopenharmony_ci| ---------------------------------------- | ------ | --------------- | 5103e41f4b71Sopenharmony_ci| COMPUTER_UNCATEGORIZED | 0x0100 | Unclassified computer. | 5104e41f4b71Sopenharmony_ci| COMPUTER_DESKTOP | 0x0104 | Desktop computer. | 5105e41f4b71Sopenharmony_ci| COMPUTER_SERVER | 0x0108 | Server. | 5106e41f4b71Sopenharmony_ci| COMPUTER_LAPTOP | 0x010C | Laptop. | 5107e41f4b71Sopenharmony_ci| COMPUTER_HANDHELD_PC_PDA | 0x0110 | Hand-held computer. | 5108e41f4b71Sopenharmony_ci| COMPUTER_PALM_SIZE_PC_PDA | 0x0114 | Palmtop computer. | 5109e41f4b71Sopenharmony_ci| COMPUTER_WEARABLE | 0x0118 | Wearable computer. | 5110e41f4b71Sopenharmony_ci| COMPUTER_TABLET | 0x011C | Tablet. | 5111e41f4b71Sopenharmony_ci| PHONE_UNCATEGORIZED | 0x0200 | Unclassified mobile phone. | 5112e41f4b71Sopenharmony_ci| PHONE_CELLULAR | 0x0204 | Portable phone. | 5113e41f4b71Sopenharmony_ci| PHONE_CORDLESS | 0x0208 | Cordless phone. | 5114e41f4b71Sopenharmony_ci| PHONE_SMART | 0x020C | Smartphone. | 5115e41f4b71Sopenharmony_ci| PHONE_MODEM_OR_GATEWAY | 0x0210 | Modem or gateway phone.| 5116e41f4b71Sopenharmony_ci| PHONE_ISDN | 0x0214 | ISDN phone. | 5117e41f4b71Sopenharmony_ci| NETWORK_FULLY_AVAILABLE | 0x0300 | Device with network fully available. | 5118e41f4b71Sopenharmony_ci| NETWORK_1_TO_17_UTILIZED | 0x0320 | Device used on network 1 to 17. | 5119e41f4b71Sopenharmony_ci| NETWORK_17_TO_33_UTILIZED | 0x0340 | Device used on network 17 to 33. | 5120e41f4b71Sopenharmony_ci| NETWORK_33_TO_50_UTILIZED | 0x0360 | Device used on network 33 to 50. | 5121e41f4b71Sopenharmony_ci| NETWORK_60_TO_67_UTILIZED | 0x0380 | Device used on network 60 to 67. | 5122e41f4b71Sopenharmony_ci| NETWORK_67_TO_83_UTILIZED | 0x03A0 | Device used on network 67 to 83. | 5123e41f4b71Sopenharmony_ci| NETWORK_83_TO_99_UTILIZED | 0x03C0 | Device used on network 83 to 99. | 5124e41f4b71Sopenharmony_ci| NETWORK_NO_SERVICE | 0x03E0 | Device without network service | 5125e41f4b71Sopenharmony_ci| AUDIO_VIDEO_UNCATEGORIZED | 0x0400 | Unclassified audio or video device. | 5126e41f4b71Sopenharmony_ci| AUDIO_VIDEO_WEARABLE_HEADSET | 0x0404 | Wearable audio or video headset. | 5127e41f4b71Sopenharmony_ci| AUDIO_VIDEO_HANDSFREE | 0x0408 | Hands-free audio or video device. | 5128e41f4b71Sopenharmony_ci| AUDIO_VIDEO_MICROPHONE | 0x0410 | Audio or video microphone. | 5129e41f4b71Sopenharmony_ci| AUDIO_VIDEO_LOUDSPEAKER | 0x0414 | Audio or video loudspeaker. | 5130e41f4b71Sopenharmony_ci| AUDIO_VIDEO_HEADPHONES | 0x0418 | Audio or video headphones. | 5131e41f4b71Sopenharmony_ci| AUDIO_VIDEO_PORTABLE_AUDIO | 0x041C | Portable audio or video device. | 5132e41f4b71Sopenharmony_ci| AUDIO_VIDEO_CAR_AUDIO | 0x0420 | In-vehicle audio or video device. | 5133e41f4b71Sopenharmony_ci| AUDIO_VIDEO_SET_TOP_BOX | 0x0424 | Audio or video STB device. | 5134e41f4b71Sopenharmony_ci| AUDIO_VIDEO_HIFI_AUDIO | 0x0428 | High-fidelity speaker device. | 5135e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VCR | 0x042C | Video cassette recording (VCR) device. | 5136e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VIDEO_CAMERA | 0x0430 | Camera. | 5137e41f4b71Sopenharmony_ci| AUDIO_VIDEO_CAMCORDER | 0x0434 | Camcorder | 5138e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VIDEO_MONITOR | 0x0438 | Audio or video monitor. | 5139e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER | 0x043C | Video display or loudspeaker. | 5140e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VIDEO_CONFERENCING | 0x0440 | Video conferencing device. | 5141e41f4b71Sopenharmony_ci| AUDIO_VIDEO_VIDEO_GAMING_TOY | 0x0448 | Audio or video gaming toy. | 5142e41f4b71Sopenharmony_ci| PERIPHERAL_NON_KEYBOARD_NON_POINTING | 0x0500 | Non-keyboard or non-pointing peripheral device. | 5143e41f4b71Sopenharmony_ci| PERIPHERAL_KEYBOARD | 0x0540 | Keyboard device. | 5144e41f4b71Sopenharmony_ci| PERIPHERAL_POINTING_DEVICE | 0x0580 | Pointing peripheral device. | 5145e41f4b71Sopenharmony_ci| PERIPHERAL_KEYBOARD_POINTING | 0x05C0 | Keyboard pointing device. | 5146e41f4b71Sopenharmony_ci| PERIPHERAL_UNCATEGORIZED | 0x0500 | Unclassified peripheral device. | 5147e41f4b71Sopenharmony_ci| PERIPHERAL_JOYSTICK | 0x0504 | Peripheral joystick. | 5148e41f4b71Sopenharmony_ci| PERIPHERAL_GAMEPAD | 0x0508 | Peripheral game pad | 5149e41f4b71Sopenharmony_ci| PERIPHERAL_REMOTE_CONTROL | 0x05C0 | Peripheral remote control device | 5150e41f4b71Sopenharmony_ci| PERIPHERAL_SENSING_DEVICE | 0x0510 | Peripheral sensing device. | 5151e41f4b71Sopenharmony_ci| PERIPHERAL_DIGITIZER_TABLET | 0x0514 | Peripheral digitizer tablet.| 5152e41f4b71Sopenharmony_ci| PERIPHERAL_CARD_READER | 0x0518 | Peripheral card reader. | 5153e41f4b71Sopenharmony_ci| PERIPHERAL_DIGITAL_PEN | 0x051C | Peripheral digital pen. | 5154e41f4b71Sopenharmony_ci| PERIPHERAL_SCANNER_RFID | 0x0520 | Peripheral RFID scanner. | 5155e41f4b71Sopenharmony_ci| PERIPHERAL_GESTURAL_INPUT | 0x0522 | Gesture input device. | 5156e41f4b71Sopenharmony_ci| IMAGING_UNCATEGORIZED | 0x0600 | Unclassified imaging device. | 5157e41f4b71Sopenharmony_ci| IMAGING_DISPLAY | 0x0610 | Imaging display device. | 5158e41f4b71Sopenharmony_ci| IMAGING_CAMERA | 0x0620 | Imaging camera device. | 5159e41f4b71Sopenharmony_ci| IMAGING_SCANNER | 0x0640 | Imaging scanner. | 5160e41f4b71Sopenharmony_ci| IMAGING_PRINTER | 0x0680 | Imaging printer. | 5161e41f4b71Sopenharmony_ci| WEARABLE_UNCATEGORIZED | 0x0700 | Unclassified wearable device. | 5162e41f4b71Sopenharmony_ci| WEARABLE_WRIST_WATCH | 0x0704 | Smart watch. | 5163e41f4b71Sopenharmony_ci| WEARABLE_PAGER | 0x0708 | Wearable pager. | 5164e41f4b71Sopenharmony_ci| WEARABLE_JACKET | 0x070C | Smart jacket. | 5165e41f4b71Sopenharmony_ci| WEARABLE_HELMET | 0x0710 | Wearable helmet. | 5166e41f4b71Sopenharmony_ci| WEARABLE_GLASSES | 0x0714 | Wearable glasses. | 5167e41f4b71Sopenharmony_ci| TOY_UNCATEGORIZED | 0x0800 | Unclassified toy. | 5168e41f4b71Sopenharmony_ci| TOY_ROBOT | 0x0804 | Toy robot. | 5169e41f4b71Sopenharmony_ci| TOY_VEHICLE | 0x0808 | Toy vehicle. | 5170e41f4b71Sopenharmony_ci| TOY_DOLL_ACTION_FIGURE | 0x080C | Humanoid toy doll. | 5171e41f4b71Sopenharmony_ci| TOY_CONTROLLER | 0x0810 | Toy controller. | 5172e41f4b71Sopenharmony_ci| TOY_GAME | 0x0814 | Toy gaming device. | 5173e41f4b71Sopenharmony_ci| HEALTH_UNCATEGORIZED | 0x0900 | Unclassified health devices. | 5174e41f4b71Sopenharmony_ci| HEALTH_BLOOD_PRESSURE | 0x0904 | Blood pressure device. | 5175e41f4b71Sopenharmony_ci| HEALTH_THERMOMETER | 0x0908 | Thermometer | 5176e41f4b71Sopenharmony_ci| HEALTH_WEIGHING | 0x090C | Body scale. | 5177e41f4b71Sopenharmony_ci| HEALTH_GLUCOSE | 0x0910 | Blood glucose monitor. | 5178e41f4b71Sopenharmony_ci| HEALTH_PULSE_OXIMETER | 0x0914 | Pulse oximeter. | 5179e41f4b71Sopenharmony_ci| HEALTH_PULSE_RATE | 0x0918 | Heart rate monitor. | 5180e41f4b71Sopenharmony_ci| HEALTH_DATA_DISPLAY | 0x091C | Health data display. | 5181e41f4b71Sopenharmony_ci| HEALTH_STEP_COUNTER | 0x0920 | Step counter. | 5182e41f4b71Sopenharmony_ci| HEALTH_BODY_COMPOSITION_ANALYZER | 0x0924 | Body composition analyzer. | 5183e41f4b71Sopenharmony_ci| HEALTH_PEAK_FLOW_MONITOR | 0x0928 | Hygrometer. | 5184e41f4b71Sopenharmony_ci| HEALTH_MEDICATION_MONITOR | 0x092C | Medication monitor. | 5185e41f4b71Sopenharmony_ci| HEALTH_KNEE_PROSTHESIS | 0x0930 | Prosthetic knee. | 5186e41f4b71Sopenharmony_ci| HEALTH_ANKLE_PROSTHESIS | 0x0934 | Prosthetic ankle. | 5187e41f4b71Sopenharmony_ci| HEALTH_GENERIC_HEALTH_MANAGER | 0x0938 | Generic health management device. | 5188e41f4b71Sopenharmony_ci| HEALTH_PERSONAL_MOBILITY_DEVICE | 0x093C | Personal mobility device. | 5189e41f4b71Sopenharmony_ci 5190e41f4b71Sopenharmony_ci 5191e41f4b71Sopenharmony_ci## PlayingState<sup>(deprecated)</sup> 5192e41f4b71Sopenharmony_ci 5193e41f4b71Sopenharmony_ciEnumerates the A2DP playing states. 5194e41f4b71Sopenharmony_ci 5195e41f4b71Sopenharmony_ci> **NOTE**<br> 5196e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [a2dp.PlayingState](js-apis-bluetooth-a2dp.md#playingstate) instead. 5197e41f4b71Sopenharmony_ci 5198e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 5199e41f4b71Sopenharmony_ci 5200e41f4b71Sopenharmony_ci| Name | Value | Description | 5201e41f4b71Sopenharmony_ci| ----------------- | ------ | ------- | 5202e41f4b71Sopenharmony_ci| STATE_NOT_PLAYING | 0x0000 | Not playing. | 5203e41f4b71Sopenharmony_ci| STATE_PLAYING | 0x0001 | Playing.| 5204e41f4b71Sopenharmony_ci 5205e41f4b71Sopenharmony_ci 5206e41f4b71Sopenharmony_ci## ProfileId<sup>(deprecated)</sup> 5207e41f4b71Sopenharmony_ci 5208e41f4b71Sopenharmony_ciEnumerates the Bluetooth profiles. API version 9 is added with **PROFILE_HID_HOST** and **PROFILE_PAN_NETWORK**. 5209e41f4b71Sopenharmony_ci 5210e41f4b71Sopenharmony_ci> **NOTE**<br> 5211e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [constant.ProfileId](js-apis-bluetooth-constant.md#profileid) instead. 5212e41f4b71Sopenharmony_ci 5213e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.Bluetooth.Core 5214e41f4b71Sopenharmony_ci 5215e41f4b71Sopenharmony_ci| Name | Value | Description | 5216e41f4b71Sopenharmony_ci| -------------------------------- | ------ | --------------- | 5217e41f4b71Sopenharmony_ci| PROFILE_A2DP_SOURCE | 1 | A2DP profile.| 5218e41f4b71Sopenharmony_ci| PROFILE_HANDS_FREE_AUDIO_GATEWAY | 4 | HFP profile. | 5219e41f4b71Sopenharmony_ci| PROFILE_HID_HOST | 6 | Human Interface Device (HID) profile. | 5220e41f4b71Sopenharmony_ci| PROFILE_PAN_NETWORK | 7 | PAN profile. | 5221