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