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&lt;string&gt;
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&lt;string&gt; | 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&lt;Array&lt;string&gt;&gt;): 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&lt;Array&lt;string&gt;&gt; | 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&lt;Array&lt;string&gt;&gt;): 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&lt;Array&lt;string&gt;&gt; | 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&lt;PinRequiredParam&gt;): 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&lt;[PinRequiredParam](#pinrequiredparamdeprecated)&gt; | 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&lt;PinRequiredParam&gt;): 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&lt;[PinRequiredParam](#pinrequiredparamdeprecated)&gt; | 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&lt;BondStateParam&gt;): 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&lt;[BondStateParam](#bondstateparamdeprecated)&gt; | 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&lt;BondStateParam&gt;): 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&lt;[BondStateParam](#bondstateparamdeprecated)&gt; | 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&lt;BluetoothState&gt;): 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&lt;[BluetoothState](#bluetoothstatedeprecated)&gt; | 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&lt;BluetoothState&gt;): 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&lt;[BluetoothState](#bluetoothstatedeprecated)&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;ArrayBuffer&gt;): 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&lt;ArrayBuffer&gt; | 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&lt;ArrayBuffer&gt;): 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&lt;ArrayBuffer&gt; | 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&lt;string&gt;
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&lt;string&gt; | 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&lt;ScanFilter&gt;, 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&lt;[ScanFilter](#scanfilterdeprecated)&gt; | 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&lt;Array&lt;ScanResult&gt;&gt;): 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&lt;Array&lt;[ScanResult](#scanresultdeprecated)&gt;&gt; | 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&lt;Array&lt;ScanResult&gt;&gt;): 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&lt;Array&lt;[ScanResult](#scanresultdeprecated)&gt;&gt; | 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&lt;string&gt;
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&lt;string&gt; | 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt;): 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt; | 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt;): 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt; | 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt;): 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt; | 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt;): 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt; | 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt;): 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt; | 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt;): 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt; | 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt;): 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt; | 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt;): 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&lt;[StateChangeParam](#statechangeparamdeprecated)&gt; | 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&lt;CharacteristicReadRequest&gt;): 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&lt;[CharacteristicReadRequest](#characteristicreadrequestdeprecated)&gt; | 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&lt;CharacteristicReadRequest&gt;): 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&lt;[CharacteristicReadRequest](#characteristicreadrequestdeprecated)&gt; | 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&lt;CharacteristicWriteRequest&gt;): 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&lt;[CharacteristicWriteRequest](#characteristicwriterequestdeprecated)&gt; | 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&lt;CharacteristicWriteRequest&gt;): 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&lt;[CharacteristicWriteRequest](#characteristicwriterequestdeprecated)&gt; | 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&lt;DescriptorReadRequest&gt;): 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&lt;[DescriptorReadRequest](#descriptorreadrequestdeprecated)&gt; | 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&lt;DescriptorReadRequest&gt;): 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&lt;[DescriptorReadRequest](#descriptorreadrequestdeprecated)&gt; | 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&lt;DescriptorWriteRequest&gt;): 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&lt;[DescriptorWriteRequest](#descriptorwriterequestdeprecated)&gt; | 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&lt;DescriptorWriteRequest&gt;): 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&lt;[DescriptorWriteRequest](#descriptorwriterequestdeprecated)&gt; | 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&lt;BLEConnectChangedState&gt;): 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&lt;[BLEConnectChangedState](#bleconnectchangedstatedeprecated)&gt; | 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&lt;BLEConnectChangedState&gt;): 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&lt;[BLEConnectChangedState](#bleconnectchangedstatedeprecated)&gt; | 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&lt;Array&lt;GattService&gt;&gt;): 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&lt;Array&lt;[GattService](#gattservicedeprecated)&gt;&gt; | 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&lt;Array&lt;GattService&gt;&gt;
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&lt;Array&lt;[GattService](#gattservicedeprecated)&gt;&gt; | 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&lt;BLECharacteristic&gt;): 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&lt;[BLECharacteristic](#blecharacteristicdeprecated)&gt; | 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&lt;BLECharacteristic&gt;
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&lt;[BLECharacteristic](#blecharacteristicdeprecated)&gt; | 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&lt;BLEDescriptor&gt;): 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&lt;[BLEDescriptor](#bledescriptordeprecated)&gt; | 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&lt;BLEDescriptor&gt;
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&lt;[BLEDescriptor](#bledescriptordeprecated)&gt; | 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&lt;BLECharacteristic&gt;): 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&lt;[BLECharacteristic](#blecharacteristicdeprecated)&gt; | 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&lt;BLECharacteristic&gt;): 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&lt;[BLECharacteristic](#blecharacteristicdeprecated)&gt; | 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&lt;BLEConnectChangedState&gt;): 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&lt;[BLEConnectChangedState](#bleconnectchangedstatedeprecated)&gt; | 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&lt;BLEConnectChangedState&gt;): 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&lt;[BLEConnectChangedState](#bleconnectchangedstatedeprecated)&gt; | 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&lt;string&gt;): 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&lt;string&gt; | 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&lt;string&gt;
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&lt;string&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;
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&lt;number&gt; | 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&lt;[BLECharacteristic](#blecharacteristicdeprecated)&gt; | Yes   | Yes   | List of characteristics of the service.                            |
4656e41f4b71Sopenharmony_ci| includeServices | Array&lt;[GattService](#gattservicedeprecated)&gt; | 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&lt;[BLEDescriptor](#bledescriptordeprecated)&gt; | 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&lt;string&gt;                      | Yes   | Yes   | List of service UUIDs to broadcast.|
4973e41f4b71Sopenharmony_ci| manufactureData | Array&lt;[ManufactureData](#manufacturedatadeprecated)&gt; | Yes   | Yes   | List of manufacturers to broadcast.          |
4974e41f4b71Sopenharmony_ci| serviceData     | Array&lt;[ServiceData](#servicedatadeprecated)&gt; | 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