• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.bluetooth (蓝牙)
2
3蓝牙模块提供了基础的传统蓝牙能力以及BLE的扫描、广播等功能。
4
5> **说明:**
6> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7> 从API Version 9开始,该接口不再维护,推荐使用新接口[bluetoothManager](js-apis-bluetoothManager.md)。
8
9
10
11## 导入模块
12
13```js
14import bluetooth from '@ohos.bluetooth';
15```
16
17
18## bluetooth.enableBluetooth<sup>8+</sup><sup>(deprecated)</sup><a name="enableBluetooth"></a>
19
20enableBluetooth(): boolean
21
22开启蓝牙。
23
24> **说明:**<br/>
25> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.enableBluetooth](js-apis-bluetoothManager.md#bluetoothmanagerenablebluetooth)替代。
26
27**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
28
29**系统能力**:SystemCapability.Communication.Bluetooth.Core30
31**返回值:**
32
33| 类型      | 说明                       |
34| ------- | ------------------------ |
35| boolean | 打开蓝牙,成功返回true,否则返回false。 |
36
37**示例:**
38
39```js
40let enable = bluetooth.enableBluetooth();
41```
42
43
44## bluetooth.disableBluetooth<sup>8+</sup><sup>(deprecated)</sup><a name="disableBluetooth"></a>
45
46disableBluetooth(): boolean
47
48关闭蓝牙。
49
50> **说明:**<br/>
51> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.disableBluetooth](js-apis-bluetoothManager.md#bluetoothmanagerdisablebluetooth)替代。
52
53**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
54
55**系统能力**:SystemCapability.Communication.Bluetooth.Core56
57**返回值:**
58
59| 类型      | 说明                       |
60| ------- | ------------------------ |
61| boolean | 关闭蓝牙,成功返回true,否则返回false。 |
62
63**示例:**
64
65```js
66let disable = bluetooth.disableBluetooth();
67```
68
69
70## bluetooth.getLocalName<sup>8+</sup><sup>(deprecated)</sup><a name="getLocalName"></a>
71
72getLocalName(): string
73
74获取蓝牙本地设备名称。
75
76> **说明:**<br/>
77> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.getLocalName](js-apis-bluetoothManager.md#bluetoothmanagergetlocalname)替代。
78
79**需要权限**:ohos.permission.USE_BLUETOOTH
80
81**系统能力**:SystemCapability.Communication.Bluetooth.Core82
83**返回值:**
84
85| 类型     | 说明        |
86| ------ | --------- |
87| string | 蓝牙本地设备名称。 |
88
89**示例:**
90
91```js
92let localName = bluetooth.getLocalName();
93```
94
95
96## bluetooth.getState<sup>(deprecated)</sup><a name="getState"></a>
97
98getState(): BluetoothState
99
100获取蓝牙开关状态。
101
102> **说明:**<br/>
103> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.getState](js-apis-bluetoothManager.md#bluetoothmanagergetstate)替代。
104
105**需要权限**:ohos.permission.USE_BLUETOOTH
106
107**系统能力**:SystemCapability.Communication.Bluetooth.Core108
109**返回值:**
110
111| 类型                                | 说明        |
112| --------------------------------- | --------- |
113| [BluetoothState](#bluetoothstate) | 表示蓝牙开关状态。 |
114
115**示例:**
116
117```js
118let state = bluetooth.getState();
119```
120
121
122## bluetooth.getBtConnectionState<sup>(deprecated)</sup><a name="getBtConnectionState"></a>
123
124getBtConnectionState(): ProfileConnectionState
125
126获取蓝牙本端的Profile连接状态,例如:任意一个支持的Profile连接状态为已连接,则此接口返回状态为已连接。
127
128> **说明:**<br/>
129> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.getBtConnectionState](js-apis-bluetoothManager.md#bluetoothmanagergetbtconnectionstate)替代。
130
131**需要权限**:ohos.permission.USE_BLUETOOTH
132
133**系统能力**:SystemCapability.Communication.Bluetooth.Core134
135**返回值:**
136
137| 类型                                       | 说明                  |
138| ---------------------------------------- | ------------------- |
139| [ProfileConnectionState](#profileconnectionstate) | 表示蓝牙设备的Profile连接状态。 |
140
141**示例:**
142
143```js
144let connectionState = bluetooth.getBtConnectionState();
145```
146
147
148## bluetooth.setLocalName<sup>8+</sup><sup>(deprecated)</sup><a name="setLocalName"></a>
149
150setLocalName(name: string): boolean
151
152设置蓝牙本地设备名称。
153
154> **说明:**<br/>
155> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.setLocalName](js-apis-bluetoothManager.md#bluetoothmanagersetlocalname)替代。
156
157**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
158
159**系统能力**:SystemCapability.Communication.Bluetooth.Core160
161**参数:**
162
163| 参数名  | 类型     | 必填   | 说明                    |
164| ---- | ------ | ---- | --------------------- |
165| name | string | 是    | 要设置的蓝牙名称,最大长度为248字节数。 |
166
167**返回值:**
168
169| 类型      | 说明                             |
170| ------- | ------------------------------ |
171| boolean | 设置蓝牙本地设备名称,成功返回true,否则返回false。 |
172
173**示例:**
174
175```js
176let ret = bluetooth.setLocalName('device_name');
177```
178
179
180## bluetooth.pairDevice<sup>(deprecated)</sup><a name="pairDevice"></a>
181
182pairDevice(deviceId: string): boolean
183
184发起蓝牙配对。
185
186> **说明:**<br/>
187> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.pairDevice](js-apis-bluetoothManager.md#bluetoothmanagerpairdevice)替代。
188
189**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
190
191**系统能力**:SystemCapability.Communication.Bluetooth.Core192
193**参数:**
194
195| 参数名      | 类型     | 必填   | 说明                                  |
196| -------- | ------ | ---- | ----------------------------------- |
197| deviceId | string | 是    | 表示配对的远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
198
199**返回值:**
200
201| 类型      | 说明                         |
202| ------- | -------------------------- |
203| boolean | 发起蓝牙配对,成功返回true,否则返回false。 |
204
205**示例:**
206
207```js
208// 实际的地址可由扫描流程获取
209let result = bluetooth.pairDevice("XX:XX:XX:XX:XX:XX");
210```
211
212
213## bluetooth.getProfileConnState<sup>8+</sup><sup>(deprecated)</sup><a name="getProfileConnState"></a>
214
215getProfileConnState(profileId: ProfileId): ProfileConnectionState
216
217依据ProfileId获取指定profile的连接状态。
218
219> **说明:**<br/>
220> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.getProfileConnectionState](js-apis-bluetoothManager.md#bluetoothmanagergetprofileconnectionstate)替代。
221
222**需要权限**:ohos.permission.USE_BLUETOOTH
223
224**系统能力**:SystemCapability.Communication.Bluetooth.Core225
226**参数:**
227
228| 参数名       | 类型        | 必填   | 说明                                    |
229| --------- | --------- | ---- | ------------------------------------- |
230| ProfileId | profileId | 是    | 表示profile的枚举值,例如:PROFILE_A2DP_SOURCE。 |
231
232**返回值:**
233
234| 类型                                              | 说明                |
235| ------------------------------------------------- | ------------------- |
236| [ProfileConnectionState](#profileconnectionstate) | profile的连接状态。 |
237
238**示例:**
239
240```js
241let result = bluetooth.getProfileConnState(bluetooth.ProfileId.PROFILE_A2DP_SOURCE);
242```
243
244
245## bluetooth.cancelPairedDevice<sup>8+</sup><sup>(deprecated)</sup><a name="cancelPairedDevice"></a>
246
247cancelPairedDevice(deviceId: string): boolean
248
249删除配对的远程设备。
250
251> **说明:**<br/>
252> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.cancelPairedDevice](js-apis-bluetoothManager.md#bluetoothmanagercancelpaireddevice)替代。
253
254**系统接口**:此接口为系统接口。
255
256**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
257
258**系统能力**:SystemCapability.Communication.Bluetooth.Core259
260**参数:**
261
262| 参数名      | 类型     | 必填   | 说明                                    |
263| -------- | ------ | ---- | ------------------------------------- |
264| deviceId | string | 是    | 表示要删除的远程设备的地址,例如:"XX:XX:XX:XX:XX:XX"。 |
265
266**返回值:**
267
268| 类型      | 说明                         |
269| ------- | -------------------------- |
270| boolean | 启动取消配对,成功返回true,否则返回false。 |
271
272**示例:**
273
274```js
275let result = bluetooth.cancelPairedDevice("XX:XX:XX:XX:XX:XX");
276```
277
278
279## bluetooth.getRemoteDeviceName<sup>8+</sup><sup>(deprecated)</sup><a name="getRemoteDeviceName"></a>
280
281getRemoteDeviceName(deviceId: string): string
282
283获取对端蓝牙设备的名称。
284
285> **说明:**<br/>
286> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.getRemoteDeviceName](js-apis-bluetoothManager.md#bluetoothmanagergetremotedevicename)替代。
287
288**需要权限**:ohos.permission.USE_BLUETOOTH
289
290**系统能力**:SystemCapability.Communication.Bluetooth.Core291
292**参数:**
293
294| 参数名      | 类型     | 必填   | 说明                                |
295| -------- | ------ | ---- | --------------------------------- |
296| deviceId | string | 是    | 表示远程设备的地址,例如:"XX:XX:XX:XX:XX:XX"。 |
297
298**返回值:**
299
300| 类型     | 说明            |
301| ------ | ------------- |
302| string | 以字符串格式返回设备名称。 |
303
304**示例:**
305
306```js
307let remoteDeviceName = bluetooth.getRemoteDeviceName("XX:XX:XX:XX:XX:XX");
308```
309
310
311## bluetooth.getRemoteDeviceClass<sup>8+</sup><sup>(deprecated)</sup><a name="getRemoteDeviceClass"></a>
312
313getRemoteDeviceClass(deviceId: string): DeviceClass
314
315获取对端蓝牙设备的类别。
316
317> **说明:**<br/>
318> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.getRemoteDeviceClass](js-apis-bluetoothManager.md#bluetoothmanagergetremotedeviceclass)替代。
319
320**需要权限**:ohos.permission.USE_BLUETOOTH
321
322**系统能力**:SystemCapability.Communication.Bluetooth.Core323
324**参数:**
325
326| 参数名      | 类型     | 必填   | 说明                                |
327| -------- | ------ | ---- | --------------------------------- |
328| deviceId | string | 是    | 表示远程设备的地址,例如:"XX:XX:XX:XX:XX:XX"。 |
329
330**返回值:**
331
332| 类型                          | 说明       |
333| --------------------------- | -------- |
334| [DeviceClass](#deviceclass) | 远程设备的类别。 |
335
336**示例:**
337
338```js
339let remoteDeviceClass = bluetooth.getRemoteDeviceClass("XX:XX:XX:XX:XX:XX");
340```
341
342
343## bluetooth.getPairedDevices<sup>8+</sup><sup>(deprecated)</sup><a name="getPairedDevices"></a>
344
345getPairedDevices(): Array&lt;string&gt;
346
347获取蓝牙配对列表。
348
349> **说明:**<br/>
350> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.getPairedDevices](js-apis-bluetoothManager.md#bluetoothmanagergetpaireddevices)替代。
351
352**需要权限**:ohos.permission.USE_BLUETOOTH
353
354**系统能力**:SystemCapability.Communication.Bluetooth.Core355
356**返回值:**
357
358| 类型                  | 说明            |
359| ------------------- | ------------- |
360| Array&lt;string&gt; | 已配对蓝牙设备的地址列表。 |
361
362**示例:**
363
364```js
365let devices = bluetooth.getPairedDevices();
366```
367
368
369## bluetooth.setBluetoothScanMode<sup>8+</sup><sup>(deprecated)</sup><a name="setBluetoothScanMode"></a>
370
371setBluetoothScanMode(mode: ScanMode, duration: number): boolean
372
373设置蓝牙扫描模式,可以被远端设备发现。
374
375> **说明:**<br/>
376> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.setBluetoothScanMode](js-apis-bluetoothManager.md#bluetoothmanagersetbluetoothscanmode)替代。
377
378**需要权限**:ohos.permission.USE_BLUETOOTH
379
380**系统能力**:SystemCapability.Communication.Bluetooth.Core381
382**参数:**
383
384| 参数名      | 类型                    | 必填   | 说明                           |
385| -------- | --------------------- | ---- | ---------------------------- |
386| mode     | [ScanMode](#scanmode) | 是    | 蓝牙扫描模式。                      |
387| duration | number                | 是    | 设备可被发现的持续时间,单位为毫秒;设置为0则持续可发现。 |
388
389**返回值:**
390
391| 类型      | 说明                         |
392| ------- | -------------------------- |
393| boolean | 设置蓝牙扫描,成功返回true,否则返回false。 |
394
395**示例:**
396
397```js
398// 设置为可连接可发现才可被远端设备扫描到,可以连接。
399let result = bluetooth.setBluetoothScanMode(bluetooth.ScanMode.SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE, 100);
400```
401
402
403## bluetooth.getBluetoothScanMode<sup>8+</sup><sup>(deprecated)</sup><a name="getBluetoothScanMode"></a>
404
405getBluetoothScanMode(): ScanMode
406
407获取蓝牙扫描模式。
408
409> **说明:**<br/>
410> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.getBluetoothScanMode](js-apis-bluetoothManager.md#bluetoothmanagergetbluetoothscanmode)替代。
411
412**需要权限**:ohos.permission.USE_BLUETOOTH
413
414**系统能力**:SystemCapability.Communication.Bluetooth.Core415
416**返回值:**
417
418| 类型                    | 说明      |
419| --------------------- | ------- |
420| [ScanMode](#scanmode) | 蓝牙扫描模式。 |
421
422**示例:**
423
424```js
425let scanMode = bluetooth.getBluetoothScanMode();
426```
427
428
429## bluetooth.startBluetoothDiscovery<sup>8+</sup><sup>(deprecated)</sup><a name="startBluetoothDiscovery"></a>
430
431startBluetoothDiscovery(): boolean
432
433开启蓝牙扫描,可以发现远端设备。
434
435> **说明:**<br/>
436> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.startBluetoothDiscovery](js-apis-bluetoothManager.md#bluetoothmanagerstartbluetoothdiscovery)替代。
437
438**需要权限**:ohos.permission.DISCOVER_BLUETOOTHohos.permission.LOCATION
439
440**系统能力**:SystemCapability.Communication.Bluetooth.Core441
442**返回值:**
443
444| 类型      | 说明                         |
445| ------- | -------------------------- |
446| boolean | 开启蓝牙扫描,成功返回true,否则返回false。 |
447
448**示例:**
449
450```js
451let deviceId;
452function onReceiveEvent(data) {
453    deviceId = data;
454}
455bluetooth.on('bluetoothDeviceFind', onReceiveEvent);
456let result = bluetooth.startBluetoothDiscovery();
457```
458
459
460## bluetooth.stopBluetoothDiscovery<sup>8+</sup><sup>(deprecated)</sup><a name="stopBluetoothDiscovery"></a>
461
462stopBluetoothDiscovery(): boolean
463
464关闭蓝牙扫描。
465
466> **说明:**<br/>
467> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.stopBluetoothDiscovery](js-apis-bluetoothManager.md#bluetoothmanagerstopbluetoothdiscovery)替代。
468
469**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
470
471**系统能力**:SystemCapability.Communication.Bluetooth.Core472
473**返回值:**
474
475| 类型      | 说明                         |
476| ------- | -------------------------- |
477| boolean | 关闭蓝牙扫描,成功返回true,否则返回false。 |
478
479**示例:**
480
481```js
482let result = bluetooth.stopBluetoothDiscovery();
483```
484
485
486## bluetooth.setDevicePairingConfirmation<sup>8+</sup><sup>(deprecated)</sup><a name="setDevicePairingConfirmation"></a>
487
488setDevicePairingConfirmation(device: string, accept: boolean): boolean
489
490设置设备配对请求确认。
491
492> **说明:**<br/>
493> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.setDevicePairingConfirmation](js-apis-bluetoothManager.md#bluetoothmanagersetdevicepairingconfirmation)替代。
494
495**需要权限**:ohos.permission.MANAGE_BLUETOOTH
496
497**系统能力**:SystemCapability.Communication.Bluetooth.Core498
499**参数:**
500
501| 参数名    | 类型      | 必填   | 说明                               |
502| ------ | ------- | ---- | -------------------------------- |
503| device | string  | 是    | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
504| accept | boolean | 是    | 接受配对请求设置为true,否则设置为false。        |
505
506**返回值:**
507
508| 类型      | 说明                           |
509| ------- | ---------------------------- |
510| boolean | 设置设备配对确认,成功返回true,否则返回false。 |
511
512**示例:**
513
514```js
515// 订阅“pinRequired”配对请求事件,收到远端配对请求后设置配对确认
516function onReceivePinRequiredEvent(data) { // data为配对请求的入参,配对请求参数
517    console.info('pin required  = '+ JSON.stringify(data));
518    bluetooth.setDevicePairingConfirmation(data.deviceId, true);
519}
520bluetooth.on("pinRequired", onReceivePinRequiredEvent);
521```
522
523
524## bluetooth.on('bluetoothDeviceFind')<sup>8+</sup><sup>(deprecated)</sup><a name="bluetoothDeviceFind"></a>
525
526on(type: "bluetoothDeviceFind", callback: Callback&lt;Array&lt;string&gt;&gt;): void
527
528订阅蓝牙设备发现上报事件。
529
530> **说明:**<br/>
531> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.on('bluetoothDeviceFind')](js-apis-bluetoothManager.md#bluetoothmanageronbluetoothdevicefind)替代。
532
533**需要权限**:ohos.permission.USE_BLUETOOTH
534
535**系统能力**:SystemCapability.Communication.Bluetooth.Core536
537**参数:**
538
539| 参数名      | 类型                                  | 必填   | 说明                                     |
540| -------- | ----------------------------------- | ---- | -------------------------------------- |
541| type     | string                              | 是    | 填写"bluetoothDeviceFind"字符串,表示蓝牙设备发现事件。 |
542| callback | Callback&lt;Array&lt;string&gt;&gt; | 是    | 表示回调函数的入参,发现的设备集合。回调函数由用户创建通过该接口注册。    |
543
544**返回值:**
545
546547
548**示例:**
549
550```js
551function onReceiveEvent(data) { // data为蓝牙设备地址集合
552    console.info('bluetooth device find = '+ JSON.stringify(data));
553}
554bluetooth.on('bluetoothDeviceFind', onReceiveEvent);
555```
556
557
558## bluetooth.off('bluetoothDeviceFind')<sup>8+</sup><sup>(deprecated)</sup>
559
560off(type: "bluetoothDeviceFind", callback?: Callback&lt;Array&lt;string&gt;&gt;): void
561
562取消订阅蓝牙设备发现上报事件。
563
564> **说明:**<br/>
565> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.off('bluetoothDeviceFind')](js-apis-bluetoothManager.md#bluetoothmanageroffbluetoothdevicefind)替代。
566
567**需要权限**:ohos.permission.USE_BLUETOOTH
568
569**系统能力**:SystemCapability.Communication.Bluetooth.Core570
571**参数:**
572
573| 参数名      | 类型                                  | 必填   | 说明                                       |
574| -------- | ----------------------------------- | ---- | ---------------------------------------- |
575| type     | string                              | 是    | 填写"bluetoothDeviceFind"字符串,表示蓝牙设备发现事件。   |
576| callback | Callback&lt;Array&lt;string&gt;&gt; | 否    | 表示取消订阅蓝牙设备发现事件上报。不填该参数则取消订阅该type对应的所有回调。 |
577
578**返回值:**
579
580581
582**示例:**
583
584```js
585function onReceiveEvent(data) {
586    console.info('bluetooth device find = '+ JSON.stringify(data));
587}
588bluetooth.on('bluetoothDeviceFind', onReceiveEvent);
589bluetooth.off('bluetoothDeviceFind', onReceiveEvent);
590```
591
592
593## bluetooth.on('pinRequired')<sup>8+</sup><sup>(deprecated)</sup>
594
595on(type: "pinRequired", callback: Callback&lt;PinRequiredParam&gt;): void
596
597订阅远端蓝牙设备的配对请求事件。
598
599> **说明:**<br/>
600> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.on('pinRequired')](js-apis-bluetoothManager.md#bluetoothmanageronpinrequired)替代。
601
602**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
603
604**系统能力**:SystemCapability.Communication.Bluetooth.Core605
606**参数:**
607
608| 参数名      | 类型                                       | 必填   | 说明                               |
609| -------- | ---------------------------------------- | ---- | -------------------------------- |
610| type     | string                                   | 是    | 填写"pinRequired"字符串,表示配对请求事件。     |
611| callback | Callback&lt;[PinRequiredParam](#pinrequiredparam)&gt; | 是    | 表示回调函数的入参,配对请求。回调函数由用户创建通过该接口注册。 |
612
613**返回值:**
614
615616
617**示例:**
618
619```js
620function onReceiveEvent(data) { // data为配对请求参数
621    console.info('pin required = '+ JSON.stringify(data));
622}
623bluetooth.on('pinRequired', onReceiveEvent);
624```
625
626
627## bluetooth.off('pinRequired')<sup>8+</sup><sup>(deprecated)</sup>
628
629off(type: "pinRequired", callback?: Callback&lt;PinRequiredParam&gt;): void
630
631取消订阅远端蓝牙设备的配对请求事件。
632
633> **说明:**<br/>
634> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.off('pinRequired')](js-apis-bluetoothManager.md#bluetoothmanageroffpinrequired)替代。
635
636**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
637
638**系统能力**:SystemCapability.Communication.Bluetooth.Core639
640**参数:**
641
642| 参数名      | 类型                                       | 必填   | 说明                                       |
643| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
644| type     | string                                   | 是    | 填写"pinRequired"字符串,表示配对请求事件。             |
645| callback | Callback&lt;[PinRequiredParam](#pinrequiredparam)&gt; | 否    | 表示取消订阅蓝牙配对请求事件上报,入参为配对请求参数。不填该参数则取消订阅该type对应的所有回调。 |
646
647**返回值:**
648
649650
651**示例:**
652
653```js
654function onReceiveEvent(data) {
655    console.info('pin required = '+ JSON.stringify(data));
656}
657bluetooth.on('pinRequired', onReceiveEvent);
658bluetooth.off('pinRequired', onReceiveEvent);
659```
660
661
662## bluetooth.on('bondStateChange')<sup>8+</sup><sup>(deprecated)</sup>
663
664on(type: "bondStateChange", callback: Callback&lt;BondStateParam&gt;): void
665
666订阅蓝牙配对状态改变事件。
667
668> **说明:**<br/>
669> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.on('bondStateChange')](js-apis-bluetoothManager.md#bluetoothmanageronbondstatechange)替代。
670
671**需要权限**:ohos.permission.USE_BLUETOOTH
672
673**系统能力**:SystemCapability.Communication.Bluetooth.Core674
675**参数:**
676
677| 参数名      | 类型                                       | 必填   | 说明                                   |
678| -------- | ---------------------------------------- | ---- | ------------------------------------ |
679| type     | string                                   | 是    | 填写"bondStateChange"字符串,表示蓝牙配对状态改变事件。 |
680| callback | Callback&lt;[BondStateParam](#BondStateParam)&gt; | 是    | 表示回调函数的入参,配对的状态。回调函数由用户创建通过该接口注册。    |
681
682**返回值:**
683
684685
686**示例:**
687
688```js
689function onReceiveEvent(data) { // data为回调函数入参,表示配对的状态
690    console.info('pair state = '+ JSON.stringify(data));
691}
692bluetooth.on('bondStateChange', onReceiveEvent);
693```
694
695
696## bluetooth.off('bondStateChange')<sup>8+</sup><sup>(deprecated)</sup>
697
698off(type: "bondStateChange", callback?: Callback&lt;BondStateParam&gt;): void
699
700取消订阅蓝牙配对状态改变事件。
701
702> **说明:**<br/>
703> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.off('bondStateChange')](js-apis-bluetoothManager.md#bluetoothmanageroffbondstatechange)替代。
704
705**需要权限**:ohos.permission.USE_BLUETOOTH
706
707**系统能力**:SystemCapability.Communication.Bluetooth.Core708
709**参数:**
710
711| 参数名      | 类型                                       | 必填   | 说明                                       |
712| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
713| type     | string                                   | 是    | 填写"bondStateChange"字符串,表示蓝牙配对状态改变事件。     |
714| callback | Callback&lt;[BondStateParam](#BondStateParam)&gt; | 否    | 表示取消订阅蓝牙配对状态改变事件上报。不填该参数则取消订阅该type对应的所有回调。 |
715
716**返回值:**
717
718719
720**示例:**
721
722```js
723function onReceiveEvent(data) {
724    console.info('bond state = '+ JSON.stringify(data));
725}
726bluetooth.on('bondStateChange', onReceiveEvent);
727bluetooth.off('bondStateChange', onReceiveEvent);
728```
729
730
731## bluetooth.on('stateChange')<sup>8+</sup><sup>(deprecated)</sup>
732
733on(type: "stateChange", callback: Callback&lt;BluetoothState&gt;): void
734
735订阅蓝牙连接状态改变事件。
736
737> **说明:**<br/>
738> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.on('stateChange')](js-apis-bluetoothManager.md#bluetoothmanageronstatechange)替代。
739
740**需要权限**:ohos.permission.USE_BLUETOOTH
741
742**系统能力**:SystemCapability.Communication.Bluetooth.Core743
744**参数:**
745
746| 参数名      | 类型                                       | 必填   | 说明                               |
747| -------- | ---------------------------------------- | ---- | -------------------------------- |
748| type     | string                                   | 是    | 填写"stateChange"字符串,表示蓝牙状态改变事件。   |
749| callback | Callback&lt;[BluetoothState](#bluetoothstate)&gt; | 是    | 表示回调函数的入参,蓝牙状态。回调函数由用户创建通过该接口注册。 |
750
751**返回值:**
752
753754
755**示例:**
756
757```js
758function onReceiveEvent(data) {
759    console.info('bluetooth state = '+ JSON.stringify(data));
760}
761bluetooth.on('stateChange', onReceiveEvent);
762```
763
764
765## bluetooth.off('stateChange')<sup>8+</sup><sup>(deprecated)</sup>
766
767off(type: "stateChange", callback?: Callback&lt;BluetoothState&gt;): void
768
769取消订阅蓝牙连接状态改变事件。
770
771> **说明:**<br/>
772> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.off('stateChange')](js-apis-bluetoothManager.md#bluetoothmanageroffstatechange)替代。
773
774**需要权限**:ohos.permission.USE_BLUETOOTH
775
776**系统能力**:SystemCapability.Communication.Bluetooth.Core777
778**参数:**
779
780| 参数名      | 类型                                       | 必填   | 说明                                       |
781| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
782| type     | string                                   | 是    | 填写"stateChange"字符串,表示蓝牙状态改变事件。           |
783| callback | Callback&lt;[BluetoothState](#bluetoothstate)&gt; | 否    | 表示取消订阅蓝牙状态改变事件上报。不填该参数则取消订阅该type对应的所有回调。 |
784
785**返回值:**
786
787788
789**示例:**
790
791```js
792function onReceiveEvent(data) {
793    console.info('bluetooth state = '+ JSON.stringify(data));
794}
795bluetooth.on('stateChange', onReceiveEvent);
796bluetooth.off('stateChange', onReceiveEvent);
797```
798
799
800## bluetooth.sppListen<sup>8+</sup><sup>(deprecated)</sup><a name="sppListen"></a>
801
802sppListen(name: string, option: SppOption, callback: AsyncCallback&lt;number&gt;): void
803
804创建一个服务端监听Socket。
805
806> **说明:**<br/>
807> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.sppListen](js-apis-bluetoothManager.md#bluetoothmanagerspplisten)替代。
808
809**需要权限**:ohos.permission.USE_BLUETOOTH
810
811**系统能力**:SystemCapability.Communication.Bluetooth.Core812
813**参数:**
814
815| 参数名      | 类型                          | 必填   | 说明                      |
816| -------- | --------------------------- | ---- | ----------------------- |
817| name     | string                      | 是    | 服务的名称。                  |
818| option   | [SppOption](#sppoption)     | 是    | spp监听配置参数。              |
819| callback | AsyncCallback&lt;number&gt; | 是    | 表示回调函数的入参,服务端Socket的id。 |
820
821**示例:**
822
823```js
824let serverNumber = -1;
825function serverSocket(code, number) {
826  console.log('bluetooth error code: ' + code.code);
827  if (code.code == 0) {
828    console.log('bluetooth serverSocket Number: ' + number);
829    serverNumber = number;
830  }
831}
832
833let sppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', secure: false, type: 0};
834bluetooth.sppListen('server1', sppOption, serverSocket);
835```
836
837
838## bluetooth.sppAccept<sup>8+</sup><sup>(deprecated)</sup><a name="sppAccept"></a>
839
840sppAccept(serverSocket: number, callback: AsyncCallback&lt;number&gt;): void
841
842服务端监听socket等待客户端连接。
843
844> **说明:**<br/>
845> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.sppAccept](js-apis-bluetoothManager.md#bluetoothmanagersppaccept)替代。
846
847**系统能力**:SystemCapability.Communication.Bluetooth.Core848
849**参数:**
850
851| 参数名          | 类型                          | 必填   | 说明                      |
852| ------------ | --------------------------- | ---- | ----------------------- |
853| serverSocket | number                      | 是    | 服务端socket的id。           |
854| callback     | AsyncCallback&lt;number&gt; | 是    | 表示回调函数的入参,客户端socket的id。 |
855
856**示例:**
857
858```js
859let serverNumber = -1;
860function serverSocket(code, number) {
861  console.log('bluetooth error code: ' + code.code);
862  if (code.code == 0) {
863    console.log('bluetooth serverSocket Number: ' + number);
864    serverNumber = number;
865  }
866}
867let clientNumber = -1;
868function acceptClientSocket(code, number) {
869  console.log('bluetooth error code: ' + code.code);
870  if (code.code == 0) {
871    console.log('bluetooth clientSocket Number: ' + number);
872    // 获取的clientNumber用作服务端后续读/写操作socket的id。
873    clientNumber = number;
874  }
875}
876bluetooth.sppAccept(serverNumber, acceptClientSocket);
877```
878
879
880## bluetooth.sppConnect<sup>8+</sup><sup>(deprecated)</sup><a name="sppConnect"></a>
881
882sppConnect(device: string, option: SppOption, callback: AsyncCallback&lt;number&gt;): void
883
884客户端向远端设备发起spp连接。
885
886> **说明:**<br/>
887> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.sppConnect](js-apis-bluetoothManager.md#bluetoothmanagersppconnect)替代。
888
889**需要权限**:ohos.permission.USE_BLUETOOTH
890
891**系统能力**:SystemCapability.Communication.Bluetooth.Core892
893**参数:**
894
895| 参数名      | 类型                          | 必填   | 说明                             |
896| -------- | --------------------------- | ---- | ------------------------------ |
897| device   | string                      | 是    | 对端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
898| option   | [SppOption](#sppoption)     | 是    | spp客户端连接配置参数。                  |
899| callback | AsyncCallback&lt;number&gt; | 是    | 表示回调函数的入参,客户端socket的id。        |
900
901**示例:**
902
903```js
904
905let clientNumber = -1;
906function clientSocket(code, number) {
907  if (code.code != 0) {
908    return;
909  }
910  console.log('bluetooth serverSocket Number: ' + number);
911  // 获取的clientNumber用作客户端后续读/写操作socket的id。
912  clientNumber = number;
913}
914let sppOption = {uuid: '00001810-0000-1000-8000-00805F9B34FB', secure: false, type: 0};
915bluetooth.sppConnect('XX:XX:XX:XX:XX:XX', sppOption, clientSocket);
916```
917
918
919## bluetooth.sppCloseServerSocket<sup>8+</sup><sup>(deprecated)</sup><a name="sppCloseServerSocket"></a>
920
921sppCloseServerSocket(socket: number): void
922
923关闭服务端监听Socket,入参socket由sppListen接口返回。
924
925> **说明:**<br/>
926> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.sppCloseServerSocket](js-apis-bluetoothManager.md#bluetoothmanagersppcloseserversocket)替代。
927
928**系统能力**:SystemCapability.Communication.Bluetooth.Core929
930**参数:**
931
932| 参数名    | 类型     | 必填   | 说明              |
933| ------ | ------ | ---- | --------------- |
934| socket | number | 是    | 服务端监听socket的id。 |
935
936**示例:**
937
938```js
939let serverNumber = -1;
940function serverSocket(code, number) {
941  console.log('bluetooth error code: ' + code.code);
942  if (code.code == 0) {
943    console.log('bluetooth serverSocket Number: ' + number);
944    serverNumber = number;
945  }
946}
947bluetooth.sppCloseServerSocket(serverNumber);
948```
949
950
951## bluetooth.sppCloseClientSocket<sup>8+</sup><sup>(deprecated)</sup><a name="sppCloseClientSocket"></a>
952
953sppCloseClientSocket(socket: number): void
954
955关闭客户端socket,入参socket由sppAccept或sppConnect接口获取。
956
957> **说明:**<br/>
958> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.sppCloseClientSocket](js-apis-bluetoothManager.md#bluetoothmanagersppcloseclientsocket)替代。
959
960**系统能力**:SystemCapability.Communication.Bluetooth.Core961
962**参数:**
963
964| 参数名    | 类型     | 必填   | 说明            |
965| ------ | ------ | ---- | ------------- |
966| 参数名    | 类型     | 必填   | 说明            |
967| socket | number | 是    | 客户端socket的id。 |
968
969**示例:**
970
971```js
972let clientNumber = -1;
973function clientSocket(code, number) {
974  if (code.code != 0) {
975    return;
976  }
977  console.log('bluetooth serverSocket Number: ' + number);
978  // 获取的clientNumber用作客户端后续读/写操作socket的id。
979  clientNumber = number;
980}
981bluetooth.sppCloseClientSocket(clientNumber);
982```
983
984
985## bluetooth.sppWrite<sup>8+</sup><sup>(deprecated)</sup><a name="sppWrite"></a>
986
987sppWrite(clientSocket: number, data: ArrayBuffer): boolean
988
989通过socket向远端发送数据,入参clientSocket由sppAccept或sppConnect接口获取 。
990
991> **说明:**<br/>
992> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.sppWrite](js-apis-bluetoothManager.md#bluetoothmanagersppwrite)替代。
993
994**系统能力**:SystemCapability.Communication.Bluetooth.Core995
996**参数:**
997
998| 参数名          | 类型          | 必填   | 说明            |
999| ------------ | ----------- | ---- | ------------- |
1000| clientSocket | number      | 是    | 客户端socket的id。 |
1001| data         | ArrayBuffer | 是    | 写入的数据。        |
1002
1003**返回值:**
1004
1005| 类型      | 说明                        |
1006| ------- | ------------------------- |
1007| boolean | 写数据操作,成功返回true,否则返回false。 |
1008
1009**示例:**
1010
1011```js
1012let clientNumber = -1;
1013function clientSocket(code, number) {
1014  if (code.code != 0) {
1015    return;
1016  }
1017  console.log('bluetooth serverSocket Number: ' + number);
1018  // 获取的clientNumber用作客户端后续读/写操作socket的id。
1019  clientNumber = number;
1020}
1021let arrayBuffer = new ArrayBuffer(8);
1022let data = new Uint8Array(arrayBuffer);
1023data[0] = 123;
1024let ret = bluetooth.sppWrite(clientNumber, arrayBuffer);
1025if (ret) {
1026  console.log('spp write successfully');
1027} else {
1028  console.log('spp write failed');
1029}
1030```
1031
1032
1033## bluetooth.on('sppRead')<sup>8+</sup><sup>(deprecated)</sup>
1034
1035on(type: "sppRead", clientSocket: number, callback: Callback&lt;ArrayBuffer&gt;): void
1036
1037> **说明:**<br/>
1038> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.on('sppRead')](js-apis-bluetoothManager.md#bluetoothmanageronsppread)替代。
1039
1040订阅spp读请求事件,入参clientSocket由sppAccept或sppConnect接口获取。
1041
1042**系统能力**:SystemCapability.Communication.Bluetooth.Core1043
1044**参数:**
1045
1046| 参数名          | 类型                          | 必填   | 说明                         |
1047| ------------ | --------------------------- | ---- | -------------------------- |
1048| type         | string                      | 是    | 填写"sppRead"字符串,表示spp读请求事件。 |
1049| clientSocket | number                      | 是    | 客户端socket的id。              |
1050| callback     | Callback&lt;ArrayBuffer&gt; | 是    | 表示回调函数的入参,读取到的数据。          |
1051
1052**返回值:**
1053
10541055
1056**示例:**
1057
1058```js
1059let clientNumber = -1;
1060function clientSocket(code, number) {
1061  if (code.code != 0) {
1062    return;
1063  }
1064  console.log('bluetooth serverSocket Number: ' + number);
1065  // 获取的clientNumber用作客户端后续读/写操作socket的id。
1066  clientNumber = number;
1067}
1068function dataRead(dataBuffer) {
1069  let data = new Uint8Array(dataBuffer);
1070  console.log('bluetooth data is: ' + data[0]);
1071}
1072bluetooth.on('sppRead', clientNumber, dataRead);
1073```
1074
1075
1076## bluetooth.off('sppRead')<sup>8+</sup><sup>(deprecated)</sup>
1077
1078off(type: "sppRead", clientSocket: number, callback?: Callback&lt;ArrayBuffer&gt;): void
1079
1080取消订阅spp读请求事件,入参clientSocket由sppAccept或sppConnect接口获取。
1081
1082> **说明:**<br/>
1083> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.off('sppRead')](js-apis-bluetoothManager.md#bluetoothmanageroffsppread)替代。
1084
1085**系统能力**:SystemCapability.Communication.Bluetooth.Core1086
1087**参数:**
1088
1089| 参数名          | 类型                          | 必填   | 说明                                       |
1090| ------------ | --------------------------- | ---- | ---------------------------------------- |
1091| type         | string                      | 是    | 填写"sppRead"字符串,表示spp读请求事件。               |
1092| clientSocket | number                      | 是    | 客户端Socket的id。                            |
1093| callback     | Callback&lt;ArrayBuffer&gt; | 否    | 表示取消订阅spp读请求事件上报。不填该参数则取消订阅该type对应的所有回调。 |
1094
1095**返回值:**
1096
10971098
1099**示例:**
1100
1101```js
1102let clientNumber = -1;
1103function clientSocket(code, number) {
1104  if (code.code != 0) {
1105    return;
1106  }
1107  console.log('bluetooth serverSocket Number: ' + number);
1108  // 获取的clientNumber用作客户端后续读/写操作socket的id。
1109  clientNumber = number;
1110}
1111bluetooth.off('sppRead', clientNumber);
1112```
1113
1114
1115## bluetooth.getProfile<sup>8+</sup><sup>(deprecated)</sup><a name="bt-getProfile"></a>
1116
1117getProfile(profileId: ProfileId): A2dpSourceProfile | HandsFreeAudioGatewayProfile
1118
1119通过ProfileId,获取profile的对象实例。
1120
1121> **说明:**<br/>
1122> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.getProfileInstance](js-apis-bluetoothManager.md#bluetoothmanagergetprofileinstance)替代。
1123
1124**系统能力**:SystemCapability.Communication.Bluetooth.Core1125
1126**参数:**
1127
1128| 参数名       | 类型        | 必填   | 说明                                    |
1129| --------- | --------- | ---- | ------------------------------------- |
1130| profileId | [ProfileId](#ProfileId) | 是    | 表示profile的枚举值,例如:PROFILE_A2DP_SOURCE。 |
1131
1132**返回值:**
1133
1134| 类型                                                         | 说明                                                         |
1135| ------------------------------------------------------------ | ------------------------------------------------------------ |
1136| [A2dpSourceProfile](#a2dpsourceprofile)或[HandsFreeAudioGatewayProfile](#handsfreeaudiogatewayprofile) | 对应的profile的对象实例,当前支持A2dpSourceProfile, HandsFreeAudioGatewayProfile。 |
1137
1138**示例:**
1139
1140```js
1141let a2dpSrc = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_A2DP_SOURCE);
1142```
1143
1144
1145## bluetooth.BLE
1146
1147### bluetooth.BLE.createGattServer<sup>(deprecated)</sup>
1148
1149createGattServer(): GattServer
1150
1151创建一个可使用的GattServer实例。
1152
1153> **说明:**<br/>
1154> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BLE.createGattServer](js-apis-bluetoothManager.md#bluetoothmanagerblecreategattserver)替代。
1155
1156**系统能力**:SystemCapability.Communication.Bluetooth.Core1157
1158**返回值:**
1159
1160| 类型                        | 说明                                   |
1161| ------------------------- | ------------------------------------ |
1162| [GattServer](#gattserver) | server端类,使用server端方法之前需要创建该类的实例进行操作。 |
1163
1164**示例:**
1165
1166```js
1167let gattServer = bluetooth.BLE.createGattServer();
1168```
1169
1170
1171### bluetooth.BLE.createGattClientDevice<sup>(deprecated)</sup>
1172
1173createGattClientDevice(deviceId: string): GattClientDevice
1174
1175创建一个可使用的GattClientDevice实例。
1176
1177> **说明:**<br/>
1178> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BLE.createGattClientDevice](js-apis-bluetoothManager.md#bluetoothmanagerblecreategattclientdevice)替代。
1179
1180**系统能力**:SystemCapability.Communication.Bluetooth.Core1181
1182**参数:**
1183
1184| 参数名      | 类型     | 必填   | 说明                                   |
1185| -------- | ------ | ---- | ------------------------------------ |
1186| deviceId | string | 是    | 对端设备地址,&nbsp;例如:"XX:XX:XX:XX:XX:XX"。 |
1187
1188**返回值:**
1189
1190| 类型                                    | 说明                                   |
1191| ------------------------------------- | ------------------------------------ |
1192| [GattClientDevice](#gattclientdevice) | client端类,使用client端方法之前需要创建该类的实例进行操作。 |
1193
1194**示例:**
1195
1196```js
1197let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
1198```
1199
1200
1201### bluetooth.BLE.getConnectedBLEDevices<sup>(deprecated)</sup>
1202
1203getConnectedBLEDevices(): Array&lt;string&gt;
1204
1205获取和当前设备连接的BLE设备。
1206
1207> **说明:**<br/>
1208> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BLE.getConnectedBLEDevices](js-apis-bluetoothManager.md#bluetoothmanagerblegetconnectedbledevices)替代。
1209
1210**需要权限**:ohos.permission.USE_BLUETOOTH
1211
1212**系统能力**:SystemCapability.Communication.Bluetooth.Core1213
1214**返回值:**
1215
1216| 类型                  | 说明                  |
1217| ------------------- | ------------------- |
1218| Array&lt;string&gt; | 返回当前设备作为Server端时连接BLE设备地址集合。 |
1219
1220**示例:**
1221
1222```js
1223let result = bluetooth.BLE.getConnectedBLEDevices();
1224```
1225
1226
1227### bluetooth.BLE.startBLEScan<sup>(deprecated)</sup>
1228
1229startBLEScan(filters: Array&lt;ScanFilter&gt;, options?: ScanOptions): void
1230
1231发起BLE扫描流程。
1232
1233> **说明:**<br/>
1234> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BLE.startBLEScan](js-apis-bluetoothManager.md#bluetoothmanagerblestartblescan)替代。
1235
1236**需要权限**:ohos.permission.DISCOVER_BLUETOOTHohos.permission.MANAGE_BLUETOOTHohos.permission.LOCATION
1237
1238**系统能力**:SystemCapability.Communication.Bluetooth.Core1239
1240**参数:**
1241
1242| 参数名     | 类型                                     | 必填   | 说明                                  |
1243| ------- | -------------------------------------- | ---- | ----------------------------------- |
1244| filters | Array&lt;[ScanFilter](#scanfilter)&gt; | 是    | 表示扫描结果过滤策略集合,如果不使用过滤的方式,该参数设置为null。 |
1245| options | [ScanOptions](#scanoptions)            | 否    | 表示扫描的参数配置,可选参数。                     |
1246
1247**返回值:**
1248
12491250
1251**示例:**
1252
1253```js
1254function onReceiveEvent(data) {
1255    console.info('BLE scan device find result = '+ JSON.stringify(data));
1256}
1257bluetooth.BLE.on("BLEDeviceFind", onReceiveEvent);
1258bluetooth.BLE.startBLEScan(
1259    [{
1260        deviceId:"XX:XX:XX:XX:XX:XX",
1261        name:"test",
1262        serviceUuid:"00001888-0000-1000-8000-00805f9b34fb"
1263    }],
1264    {
1265        interval: 500,
1266        dutyMode: bluetooth.ScanDuty.SCAN_MODE_LOW_POWER,
1267        matchMode: bluetooth.MatchMode.MATCH_MODE_AGGRESSIVE,
1268    }
1269);
1270```
1271
1272
1273### bluetooth.BLE.stopBLEScan<sup>(deprecated)</sup>
1274
1275stopBLEScan(): void
1276
1277停止BLE扫描流程。
1278
1279> **说明:**<br/>
1280> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BLE.stopBLEScan](js-apis-bluetoothManager.md#bluetoothmanagerblestopblescan)替代。
1281
1282**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
1283
1284**系统能力**:SystemCapability.Communication.Bluetooth.Core1285
1286**返回值:**
1287
12881289
1290**示例:**
1291
1292```js
1293bluetooth.BLE.stopBLEScan();
1294```
1295
1296
1297### bluetooth.BLE.on('BLEDeviceFind')<sup>(deprecated)</sup>
1298
1299on(type: "BLEDeviceFind", callback: Callback&lt;Array&lt;ScanResult&gt;&gt;): void
1300
1301订阅BLE设备发现上报事件。
1302
1303> **说明:**<br/>
1304> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BLE.on('BLEDeviceFind')](js-apis-bluetoothManager.md#bluetoothmanagerbleonbledevicefind)替代。
1305
1306**需要权限**:ohos.permission.USE_BLUETOOTH
1307
1308**系统能力**:SystemCapability.Communication.Bluetooth.Core1309
1310**参数:**
1311
1312| 参数名      | 类型                                       | 必填   | 说明                                  |
1313| -------- | ---------------------------------------- | ---- | ----------------------------------- |
1314| type     | string                                   | 是    | 填写"BLEDeviceFind"字符串,表示BLE设备发现事件。   |
1315| callback | Callback&lt;Array&lt;[ScanResult](#scanresult)&gt;&gt; | 是    | 表示回调函数的入参,发现的设备集合。回调函数由用户创建通过该接口注册。 |
1316
1317**返回值:**
1318
13191320
1321**示例:**
1322
1323```js
1324function onReceiveEvent(data) {
1325    console.info('bluetooth device find = '+ JSON.stringify(data));
1326}
1327bluetooth.BLE.on('BLEDeviceFind', onReceiveEvent);
1328```
1329
1330
1331### bluetooth.BLE.off('BLEDeviceFind')<sup>(deprecated)</sup>
1332
1333off(type: "BLEDeviceFind", callback?: Callback&lt;Array&lt;ScanResult&gt;&gt;): void
1334
1335取消订阅BLE设备发现上报事件。
1336
1337> **说明:**<br/>
1338> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BLE.off('BLEDeviceFind')](js-apis-bluetoothManager.md#bluetoothmanagerbleoffbledevicefind)替代。
1339
1340**需要权限**:ohos.permission.USE_BLUETOOTH
1341
1342**系统能力**:SystemCapability.Communication.Bluetooth.Core1343
1344**参数:**
1345
1346| 参数名      | 类型                                       | 必填   | 说明                                       |
1347| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
1348| type     | string                                   | 是    | 填写"BLEDeviceFind"字符串,表示BLE设备发现事件。        |
1349| callback | Callback&lt;Array&lt;[ScanResult](#scanresult)&gt;&gt; | 否    | 表示取消订阅BLE设备发现事件上报。不填该参数则取消订阅该type对应的所有回调。 |
1350
1351**返回值:**
1352
13531354
1355**示例:**
1356
1357```js
1358function onReceiveEvent(data) {
1359    console.info('bluetooth device find = '+ JSON.stringify(data));
1360}
1361bluetooth.BLE.on('BLEDeviceFind', onReceiveEvent);
1362bluetooth.BLE.off('BLEDeviceFind', onReceiveEvent);
1363```
1364
1365
1366## BaseProfile
1367
1368profile基类。
1369
1370
1371### getConnectionDevices<sup>8+</sup><sup>(deprecated)</sup><a name="getConnectionDevices"></a>
1372
1373getConnectionDevices(): Array&lt;string&gt;
1374
1375获取已连接设备列表。
1376
1377> **说明:**<br/>
1378> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BaseProfile.getConnectionDevices](js-apis-bluetoothManager.md#getconnectiondevices)替代。
1379
1380**需要权限**:ohos.permission.USE_BLUETOOTH
1381
1382**系统能力**:SystemCapability.Communication.Bluetooth.Core1383
1384**返回值:**
1385
1386| 类型                  | 说明            |
1387| ------------------- | ------------- |
1388| Array&lt;string&gt; | 返回已连接设备的地址列表。 |
1389
1390**示例:**
1391
1392```js
1393let a2dpSrc = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_A2DP_SOURCE) as bluetooth.A2dpSourceProfile;
1394let retArray = a2dpSrc.getConnectionDevices();
1395```
1396
1397### getDeviceState<sup>8+</sup><sup>(deprecated)</sup><a name="getDeviceState"></a>
1398
1399getDeviceState(device: string): ProfileConnectionState
1400
1401获取设备profile的连接状态。
1402
1403> **说明:**<br/>
1404> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BaseProfile.getDeviceState](js-apis-bluetoothManager.md#getdevicestate)替代。
1405
1406**需要权限**:ohos.permission.USE_BLUETOOTH
1407
1408**系统能力**:SystemCapability.Communication.Bluetooth.Core1409
1410**参数:**
1411
1412| 参数名    | 类型     | 必填   | 说明      |
1413| ------ | ------ | ---- | ------- |
1414| device | string | 是    | 远端设备地址。 |
1415
1416**返回值:**
1417
1418| 类型                                              | 说明                    |
1419| ------------------------------------------------- | ----------------------- |
1420| [ProfileConnectionState](#profileconnectionstate) | 返回profile的连接状态。 |
1421
1422**示例:**
1423
1424```js
1425let a2dpSrc = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_A2DP_SOURCE) as bluetooth.A2dpSourceProfile;
1426let ret = a2dpSrc.getDeviceState('XX:XX:XX:XX:XX:XX');
1427```
1428
1429## A2dpSourceProfile
1430
1431使用A2dpSourceProfile方法之前需要创建该类的实例进行操作,通过getProfile()方法构造此实例。
1432
1433
1434### connect<sup>8+</sup><sup>(deprecated)</sup><a name="a2dp-connect"></a>
1435
1436connect(device: string): boolean
1437
1438发起设备的A2dp服务连接请求。
1439
1440> **说明:**<br/>
1441> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.A2dpSourceProfile.connect](js-apis-bluetoothManager.md#connect)替代。
1442
1443**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
1444
1445**系统能力**:SystemCapability.Communication.Bluetooth.Core1446
1447**参数:**
1448
1449| 参数名    | 类型     | 必填   | 说明      |
1450| ------ | ------ | ---- | ------- |
1451| device | string | 是    | 远端设备地址。 |
1452
1453**返回值:**
1454
1455| 类型      | 说明                  |
1456| ------- | ------------------- |
1457| boolean | 成功返回true,失败返回false。 |
1458
1459**示例:**
1460
1461```js
1462let a2dpSrc = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_A2DP_SOURCE) as bluetooth.A2dpSourceProfile;
1463let ret = a2dpSrc.connect('XX:XX:XX:XX:XX:XX');
1464```
1465
1466
1467### disconnect<sup>8+</sup><sup>(deprecated)</sup><a name="a2dp-disconnect"></a>
1468
1469disconnect(device: string): boolean
1470
1471断开设备的a2dp服务连接。
1472
1473> **说明:**<br/>
1474> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.A2dpSourceProfile.disconnect](js-apis-bluetoothManager.md#disconnect)替代。
1475
1476**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
1477
1478**系统能力**:SystemCapability.Communication.Bluetooth.Core1479
1480**参数:**
1481
1482| 参数名    | 类型     | 必填   | 说明      |
1483| ------ | ------ | ---- | ------- |
1484| device | string | 是    | 远端设备地址。 |
1485
1486**返回值:**
1487
1488| 类型      | 说明                  |
1489| ------- | ------------------- |
1490| boolean | 成功返回true,失败返回false。 |
1491
1492**示例:**
1493
1494```js
1495let a2dpSrc = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_A2DP_SOURCE) as bluetooth.A2dpSourceProfile;
1496let ret = a2dpSrc.disconnect('XX:XX:XX:XX:XX:XX');
1497```
1498
1499
1500### on('connectionStateChange')<sup>8+</sup><sup>(deprecated)</sup>
1501
1502on(type: "connectionStateChange", callback: Callback&lt;[StateChangeParam](#StateChangeParam)&gt;): void
1503
1504订阅a2dp连接状态变化事件。
1505
1506> **说明:**<br/>
1507> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.A2dpSourceProfile.on('connectionStateChange')](js-apis-bluetoothManager.md#onconnectionstatechange)替代。
1508
1509**系统能力**:SystemCapability.Communication.Bluetooth.Core1510
1511**参数:**
1512
1513| 参数名      | 类型                                       | 必填   | 说明                                       |
1514| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
1515| type     | string                                   | 是    | 填写"connectionStateChange"字符串,表示连接状态变化事件。 |
1516| callback | Callback&lt;[StateChangeParam](#StateChangeParam)&gt; | 是    | 表示回调函数的入参。                               |
1517
1518**返回值:**
1519
15201521
1522**示例:**
1523
1524```js
1525function onReceiveEvent(data) {
1526    console.info('a2dp state = '+ JSON.stringify(data));
1527}
1528let a2dpSrc = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_A2DP_SOURCE) as bluetooth.A2dpSourceProfile;
1529a2dpSrc.on('connectionStateChange', onReceiveEvent);
1530```
1531
1532
1533### off('connectionStateChange')<sup>8+</sup><sup>(deprecated)</sup>
1534
1535off(type: "connectionStateChange", callback?: Callback&lt;[StateChangeParam](#StateChangeParam)&gt;): void
1536
1537取消订阅a2dp连接状态变化事件。
1538
1539> **说明:**<br/>
1540> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.A2dpSourceProfile.off('connectionStateChange')](js-apis-bluetoothManager.md#offconnectionstatechange)替代。
1541
1542**系统能力**:SystemCapability.Communication.Bluetooth.Core1543
1544**参数:**
1545
1546| 参数名      | 类型                                       | 必填   | 说明                                       |
1547| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
1548| type     | string                                   | 是    | 填写"connectionStateChange"字符串,表示连接状态变化事件。 |
1549| callback | Callback&lt;[StateChangeParam](#StateChangeParam)&gt; | 否    | 表示回调函数的入参。                               |
1550
1551**返回值:**
1552
15531554
1555**示例:**
1556
1557```js
1558function onReceiveEvent(data) {
1559    console.info('a2dp state = '+ JSON.stringify(data));
1560}
1561let a2dpSrc = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_A2DP_SOURCE) as bluetooth.A2dpSourceProfile;
1562a2dpSrc.on('connectionStateChange', onReceiveEvent);
1563a2dpSrc.off('connectionStateChange', onReceiveEvent);
1564```
1565
1566
1567### getPlayingState<sup>8+</sup><sup>(deprecated)</sup>
1568
1569getPlayingState(device: string): PlayingState
1570
1571获取设备的播放状态。
1572
1573> **说明:**<br/>
1574> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.A2dpSourceProfile.getPlayingState](js-apis-bluetoothManager.md#getplayingstate)替代。
1575
1576**系统能力**:SystemCapability.Communication.Bluetooth.Core1577
1578**参数:**
1579
1580| 参数名    | 类型     | 必填   | 说明      |
1581| ------ | ------ | ---- | ------- |
1582| device | string | 是    | 远端设备地址。 |
1583
1584**返回值:**
1585
1586| 类型                            | 说明         |
1587| ----------------------------- | ---------- |
1588| [PlayingState](#PlayingState) | 远端设备的播放状态。 |
1589
1590**示例:**
1591
1592```js
1593let a2dpSrc = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_A2DP_SOURCE) as bluetooth.A2dpSourceProfile;
1594let state = a2dpSrc.getPlayingState('XX:XX:XX:XX:XX:XX');
1595```
1596
1597
1598## HandsFreeAudioGatewayProfile
1599
1600使用HandsFreeAudioGatewayProfile方法之前需要创建该类的实例进行操作,通过getProfile()方法构造此实例。
1601
1602
1603### connect<sup>8+</sup><sup>(deprecated)</sup><a name="hfp-connect"></a>
1604
1605connect(device: string): boolean
1606
1607连接设备的HFP服务。
1608
1609> **说明:**<br/>
1610> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.HandsFreeAudioGatewayProfile.connect](js-apis-bluetoothManager.md#connect-1)替代。
1611
1612**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
1613
1614**系统能力**:SystemCapability.Communication.Bluetooth.Core1615
1616**参数:**
1617
1618| 参数名    | 类型     | 必填   | 说明      |
1619| ------ | ------ | ---- | ------- |
1620| device | string | 是    | 远端设备地址。 |
1621
1622**返回值:**
1623
1624| 类型      | 说明                  |
1625| ------- | ------------------- |
1626| boolean | 成功返回true,失败返回false。 |
1627
1628**示例:**
1629
1630```js
1631let hfpAg = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as
1632  bluetooth.HandsFreeAudioGatewayProfile;
1633let ret = hfpAg.connect('XX:XX:XX:XX:XX:XX');
1634```
1635
1636
1637### disconnect<sup>8+</sup><sup>(deprecated)</sup><a name="hfp-disconnect"></a>
1638
1639disconnect(device: string): boolean
1640
1641断开连接设备的HFP服务。
1642
1643> **说明:**<br/>
1644> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.HandsFreeAudioGatewayProfile.disconnect](js-apis-bluetoothManager.md#disconnect-1)替代。
1645
1646**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
1647
1648**系统能力**:SystemCapability.Communication.Bluetooth.Core1649
1650**参数:**
1651
1652| 参数名    | 类型     | 必填   | 说明      |
1653| ------ | ------ | ---- | ------- |
1654| device | string | 是    | 远端设备地址。 |
1655
1656**返回值:**
1657
1658| 类型      | 说明                  |
1659| ------- | ------------------- |
1660| boolean | 成功返回true,失败返回false。 |
1661
1662**示例:**
1663
1664```js
1665let hfpAg = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as
1666  bluetooth.HandsFreeAudioGatewayProfile;
1667let ret = hfpAg.disconnect('XX:XX:XX:XX:XX:XX');
1668```
1669
1670
1671### on('connectionStateChange')<sup>8+</sup><sup>(deprecated)</sup>
1672
1673on(type: "connectionStateChange", callback: Callback&lt;[StateChangeParam](#StateChangeParam)&gt;): void
1674
1675订阅HFP连接状态变化事件。
1676
1677> **说明:**<br/>
1678> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.HandsFreeAudioGatewayProfile.on('connectionStateChange')](js-apis-bluetoothManager.md#onconnectionstatechange-1)替代。
1679
1680**系统能力**:SystemCapability.Communication.Bluetooth.Core1681
1682**参数:**
1683
1684| 参数名      | 类型                                       | 必填   | 说明                                       |
1685| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
1686| type     | string                                   | 是    | 填写"connectionStateChange"字符串,表示连接状态变化事件。 |
1687| callback | Callback&lt;[StateChangeParam](#StateChangeParam)&gt; | 是    | 表示回调函数的入参。                               |
1688
1689**返回值:**
1690
16911692
1693**示例:**
1694
1695```js
1696function onReceiveEvent(data) {
1697    console.info('hfp state = '+ JSON.stringify(data));
1698}
1699let hfpAg = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as
1700  bluetooth.HandsFreeAudioGatewayProfile;
1701hfpAg.on('connectionStateChange', onReceiveEvent);
1702```
1703
1704
1705### off('connectionStateChange')<sup>8+</sup><sup>(deprecated)</sup>
1706
1707off(type: "connectionStateChange", callback?: Callback&lt;[StateChangeParam](#StateChangeParam)&gt;): void
1708
1709取消订阅HFP连接状态变化事件。
1710
1711> **说明:**<br/>
1712> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.HandsFreeAudioGatewayProfile.off('connectionStateChange')](js-apis-bluetoothManager.md#offconnectionstatechange-1)替代。
1713
1714**系统能力**:SystemCapability.Communication.Bluetooth.Core1715
1716**参数:**
1717
1718| 参数名      | 类型                                       | 必填   | 说明                                       |
1719| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
1720| type     | string                                   | 是    | 填写"connectionStateChange"字符串,表示连接状态变化事件。 |
1721| callback | Callback&lt;[StateChangeParam](#StateChangeParam)&gt; | 否    | 表示回调函数的入参。                               |
1722
1723**返回值:**
1724
17251726
1727**示例:**
1728
1729```js
1730function onReceiveEvent(data) {
1731    console.info('hfp state = '+ JSON.stringify(data));
1732}
1733let hfpAg = bluetooth.getProfile(bluetooth.ProfileId.PROFILE_HANDS_FREE_AUDIO_GATEWAY) as
1734  bluetooth.HandsFreeAudioGatewayProfile;
1735hfpAg.on('connectionStateChange', onReceiveEvent);
1736hfpAg.off('connectionStateChange', onReceiveEvent);
1737```
1738
1739
1740## GattServer
1741
1742server端类,使用server端方法之前需要创建该类的实例进行操作,通过createGattServer()方法构造此实例。
1743
1744
1745### startAdvertising<sup>(deprecated)</sup>
1746
1747startAdvertising(setting: AdvertiseSetting, advData: AdvertiseData, advResponse?: AdvertiseData): void
1748
1749开始发送BLE广播。
1750
1751> **说明:**<br/>
1752> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.startAdvertising](js-apis-bluetoothManager.md#startadvertising)替代。
1753
1754**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
1755
1756**系统能力**:SystemCapability.Communication.Bluetooth.Core1757
1758**参数:**
1759
1760| 参数名         | 类型                                    | 必填   | 说明             |
1761| ----------- | ------------------------------------- | ---- | -------------- |
1762| setting     | [AdvertiseSetting](#advertisesetting) | 是    | BLE广播的相关参数。    |
1763| advData     | [AdvertiseData](#advertisedata)       | 是    | BLE广播包内容。      |
1764| advResponse | [AdvertiseData](#advertisedata)       | 否    | BLE回复扫描请求回复响应。 |
1765
1766**返回值:**
1767
17681769
1770**示例:**
1771
1772```js
1773let manufactureValueBuffer = new Uint8Array(4);
1774manufactureValueBuffer[0] = 1;
1775manufactureValueBuffer[1] = 2;
1776manufactureValueBuffer[2] = 3;
1777manufactureValueBuffer[3] = 4;
1778
1779let serviceValueBuffer = new Uint8Array(4);
1780serviceValueBuffer[0] = 4;
1781serviceValueBuffer[1] = 6;
1782serviceValueBuffer[2] = 7;
1783serviceValueBuffer[3] = 8;
1784console.info('manufactureValueBuffer = '+ JSON.stringify(manufactureValueBuffer));
1785console.info('serviceValueBuffer = '+ JSON.stringify(serviceValueBuffer));
1786let gattServer = bluetooth.BLE.createGattServer();
1787gattServer.startAdvertising({
1788            interval:150,
1789            txPower:60,
1790            connectable:true,
1791        },{
1792            serviceUuids:["00001888-0000-1000-8000-00805f9b34fb"],
1793            manufactureData:[{
1794                 manufactureId:4567,
1795                 manufactureValue:manufactureValueBuffer.buffer
1796            }],
1797            serviceData:[{
1798                 serviceUuid:"00001888-0000-1000-8000-00805f9b34fb",
1799                 serviceValue:serviceValueBuffer.buffer
1800            }],
1801        },{
1802            serviceUuids:["00001889-0000-1000-8000-00805f9b34fb"],
1803            manufactureData:[{
1804                 manufactureId:1789,
1805                 manufactureValue:manufactureValueBuffer.buffer
1806            }],
1807            serviceData:[{
1808                 serviceUuid:"00001889-0000-1000-8000-00805f9b34fb",
1809                 serviceValue:serviceValueBuffer.buffer
1810            }],
1811});
1812```
1813
1814
1815### stopAdvertising<sup>(deprecated)</sup>
1816
1817stopAdvertising(): void
1818
1819停止发送BLE广播。
1820
1821> **说明:**<br/>
1822> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.stopAdvertising](js-apis-bluetoothManager.md#stopadvertising)替代。
1823
1824**需要权限**:ohos.permission.DISCOVER_BLUETOOTH
1825
1826**系统能力**:SystemCapability.Communication.Bluetooth.Core1827
1828**返回值:**
1829
18301831
1832**示例:**
1833
1834```js
1835let server = bluetooth.BLE.createGattServer();
1836server.stopAdvertising();
1837```
1838
1839
1840### addService<sup>(deprecated)</sup>
1841
1842addService(service: GattService): boolean
1843
1844server端添加服务。
1845
1846> **说明:**<br/>
1847> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.addService](js-apis-bluetoothManager.md#addservice)替代。
1848
1849**需要权限**:ohos.permission.USE_BLUETOOTH
1850
1851**系统能力**:SystemCapability.Communication.Bluetooth.Core1852
1853**参数:**
1854
1855| 参数名     | 类型                          | 必填   | 说明                       |
1856| ------- | --------------------------- | ---- | ------------------------ |
1857| service | [GattService](#gattservice) | 是    | 服务端的service数据。BLE广播的相关参数 |
1858
1859**返回值:**
1860
1861| 类型      | 说明                         |
1862| ------- | -------------------------- |
1863| boolean | 添加服务操作,成功返回true,否则返回false。 |
1864
1865**示例:**
1866
1867```js
1868// 创建descriptors
1869let descriptors = [];
1870let arrayBuffer = new ArrayBuffer(8);
1871let descV = new Uint8Array(arrayBuffer);
1872descV[0] = 11;
1873let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
1874  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
1875  descriptorUuid: '00002902-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer};
1876descriptors[0] = descriptor;
1877
1878// 创建characteristics
1879let characteristics = [];
1880let arrayBufferC = new ArrayBuffer(8);
1881let cccV = new Uint8Array(arrayBufferC);
1882cccV[0] = 1;
1883let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
1884  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors};
1885let characteristicN = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
1886  characteristicUuid: '00001821-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors};
1887characteristics[0] = characteristic;
1888
1889// 创建gattService
1890let gattService = {serviceUuid:'00001810-0000-1000-8000-00805F9B34FB', isPrimary: true, characteristics:characteristics, includeServices:[]};
1891
1892let gattServer = bluetooth.BLE.createGattServer();
1893let ret = gattServer.addService(gattService);
1894if (ret) {
1895   console.log("add service successfully");
1896} else {
1897   console.log("add service failed");
1898}
1899```
1900
1901
1902### removeService<sup>(deprecated)</sup>
1903
1904removeService(serviceUuid: string): boolean
1905
1906删除已添加的服务。
1907
1908> **说明:**<br/>
1909> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.removeService](js-apis-bluetoothManager.md#removeservice)替代。
1910
1911**需要权限**:ohos.permission.USE_BLUETOOTH
1912
1913**系统能力**:SystemCapability.Communication.Bluetooth.Core1914
1915**参数:**
1916
1917| 参数名         | 类型     | 必填   | 说明                                       |
1918| ----------- | ------ | ---- | ---------------------------------------- |
1919| serviceUuid | string | 是    | service的UUID,例如“00001810-0000-1000-8000-00805F9B34FB”。 |
1920
1921**返回值:**
1922
1923| 类型      | 说明                         |
1924| ------- | -------------------------- |
1925| boolean | 删除服务操作,成功返回true,否则返回false。 |
1926
1927**示例:**
1928
1929```js
1930let server = bluetooth.BLE.createGattServer();
1931server.removeService('00001810-0000-1000-8000-00805F9B34FB');
1932```
1933
1934
1935### close<sup>(deprecated)</sup>
1936
1937close(): void
1938
1939关闭服务端功能,去注册server在协议栈的注册,调用该接口后[GattServer](#gattserver)实例将不能再使用。
1940
1941> **说明:**<br/>
1942> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.close](js-apis-bluetoothManager.md#close)替代。
1943
1944**需要权限**:ohos.permission.USE_BLUETOOTH
1945
1946**系统能力**:SystemCapability.Communication.Bluetooth.Core1947
1948**示例:**
1949
1950```js
1951let server = bluetooth.BLE.createGattServer();
1952server.close();
1953```
1954
1955
1956### notifyCharacteristicChanged<sup>(deprecated)</sup>
1957
1958notifyCharacteristicChanged(deviceId: string, notifyCharacteristic: NotifyCharacteristic): boolean
1959
1960server端特征值发生变化时,主动通知已连接的client设备。
1961
1962> **说明:**<br/>
1963> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.notifyCharacteristicChanged](js-apis-bluetoothManager.md#notifycharacteristicchanged)替代。
1964
1965**需要权限**:ohos.permission.USE_BLUETOOTH
1966
1967**系统能力**:SystemCapability.Communication.Bluetooth.Core1968
1969**参数:**
1970
1971| 参数名                  | 类型                                       | 必填   | 说明                                      |
1972| -------------------- | ---------------------------------------- | ---- | --------------------------------------- |
1973| deviceId             | string                                   | 是    | 接收通知的client端设备地址,例如“XX:XX:XX:XX:XX:XX”。 |
1974| notifyCharacteristic | [NotifyCharacteristic](#notifycharacteristic) | 是    | 通知的特征值数据。                               |
1975
1976**返回值:**
1977
1978| 类型      | 说明                       |
1979| ------- | ------------------------ |
1980| boolean | 通知操作,成功返回true,否则返回false。 |
1981
1982**示例:**
1983
1984```js
1985// 创建descriptors
1986let descriptors = [];
1987let arrayBuffer = new ArrayBuffer(8);
1988let descV = new Uint8Array(arrayBuffer);
1989descV[0] = 11;
1990let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
1991  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
1992  descriptorUuid: '00002902-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer};
1993descriptors[0] = descriptor;
1994let arrayBufferC = new ArrayBuffer(8);
1995let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
1996  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors};
1997let notifyCharacteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
1998  characteristicUuid: '00001821-0000-1000-8000-00805F9B34FB', characteristicValue: characteristic.characteristicValue, confirm: false};
1999let server = bluetooth.BLE.createGattServer();
2000server.notifyCharacteristicChanged('XX:XX:XX:XX:XX:XX', notifyCharacteristic);
2001```
2002
2003
2004### sendResponse<sup>(deprecated)</sup>
2005
2006sendResponse(serverResponse: ServerResponse): boolean
2007
2008server端回复client端的读写请求。
2009
2010> **说明:**<br/>
2011> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.sendResponse](js-apis-bluetoothManager.md#sendresponse)替代。
2012
2013**需要权限**:ohos.permission.USE_BLUETOOTH
2014
2015**系统能力**:SystemCapability.Communication.Bluetooth.Core2016
2017**参数:**
2018
2019| 参数名            | 类型                                | 必填   | 说明              |
2020| -------------- | --------------------------------- | ---- | --------------- |
2021| serverResponse | [ServerResponse](#serverresponse) | 是    | server端回复的响应数据。 |
2022
2023**返回值:**
2024
2025| 类型      | 说明                         |
2026| ------- | -------------------------- |
2027| boolean | 回复响应操作,成功返回true,否则返回false。 |
2028
2029**示例:**
2030
2031```js
2032/* send response */
2033let arrayBufferCCC = new ArrayBuffer(8);
2034let cccValue = new Uint8Array(arrayBufferCCC);
2035cccValue[0] = 1123;
2036let serverResponse = {
2037    "deviceId": "XX:XX:XX:XX:XX:XX",
2038    "transId": 0,
2039    "status": 0,
2040    "offset": 0,
2041    "value": arrayBufferCCC,
2042};
2043
2044let gattServer = bluetooth.BLE.createGattServer();
2045let ret = gattServer.sendResponse(serverResponse);
2046if (ret) {
2047  console.log('bluetooth sendResponse successfully');
2048} else {
2049  console.log('bluetooth sendResponse failed');
2050}
2051```
2052
2053
2054### on('characteristicRead')<sup>(deprecated)</sup>
2055
2056on(type: "characteristicRead", callback: Callback&lt;CharacteristicReadReq&gt;): void
2057
2058server端订阅特征值读请求事件。
2059
2060> **说明:**<br/>
2061> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.on('characteristicRead')](js-apis-bluetoothManager.md#oncharacteristicread)替代。
2062
2063**需要权限**:ohos.permission.USE_BLUETOOTH
2064
2065**系统能力**:SystemCapability.Communication.Bluetooth.Core2066
2067**参数:**
2068
2069| 参数名      | 类型                                       | 必填   | 说明                                    |
2070| -------- | ---------------------------------------- | ---- | ------------------------------------- |
2071| type     | string                                   | 是    | 填写"characteristicRead"字符串,表示特征值读请求事件。 |
2072| callback | Callback&lt;[CharacteristicReadReq](#characteristicreadreq)&gt; | 是    | 表示回调函数的入参,client端发送的读请求数据。            |
2073
2074**返回值:**
2075
20762077
2078**示例:**
2079
2080```js
2081let arrayBufferCCC = new ArrayBuffer(8);
2082let cccValue = new Uint8Array(arrayBufferCCC);
2083cccValue[0] = 1123;
2084function ReadCharacteristicReq(CharacteristicReadReq) {
2085  let deviceId = CharacteristicReadReq.deviceId;
2086  let transId = CharacteristicReadReq.transId;
2087  let offset = CharacteristicReadReq.offset;
2088  let characteristicUuid = CharacteristicReadReq.characteristicUuid;
2089
2090  let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferCCC};
2091
2092  let ret = gattServer.sendResponse(serverResponse);
2093  if (ret) {
2094    console.log('bluetooth sendResponse successfully');
2095  } else {
2096    console.log('bluetooth sendResponse failed');
2097  }
2098}
2099
2100let gattServer = bluetooth.BLE.createGattServer();
2101gattServer.on("characteristicRead", ReadCharacteristicReq);
2102```
2103
2104
2105### off('characteristicRead')<sup>(deprecated)</sup>
2106
2107off(type: "characteristicRead", callback?: Callback&lt;CharacteristicReadReq&gt;): void
2108
2109server端取消订阅特征值读请求事件。
2110
2111> **说明:**<br/>
2112> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.off('characteristicRead')](js-apis-bluetoothManager.md#offcharacteristicread)替代。
2113
2114**需要权限**:ohos.permission.USE_BLUETOOTH
2115
2116**系统能力**:SystemCapability.Communication.Bluetooth.Core2117
2118**参数:**
2119
2120| 参数名      | 类型                                       | 必填   | 说明                                       |
2121| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
2122| type     | string                                   | 是    | 填写"characteristicRead"字符串,表示特征值读请求事件。    |
2123| callback | Callback&lt;[CharacteristicReadReq](#characteristicreadreq)&gt; | 否    | 表示取消订阅特征值读请求事件上报。不填该参数则取消订阅该type对应的所有回调。 |
2124
2125**返回值:**
2126
21272128
2129**示例:**
2130
2131```js
2132let gattServer = bluetooth.BLE.createGattServer();
2133gattServer.off("characteristicRead");
2134```
2135
2136
2137### on('characteristicWrite')<sup>(deprecated)</sup>
2138
2139on(type: "characteristicWrite", callback: Callback&lt;CharacteristicWriteReq&gt;): void
2140
2141server端订阅特征值写请求事件。
2142
2143> **说明:**<br/>
2144> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.on('characteristicWrite')](js-apis-bluetoothManager.md#oncharacteristicwrite)替代。
2145
2146**需要权限**:ohos.permission.USE_BLUETOOTH
2147
2148**系统能力**:SystemCapability.Communication.Bluetooth.Core2149
2150**参数:**
2151
2152| 参数名      | 类型                                       | 必填   | 说明                                     |
2153| -------- | ---------------------------------------- | ---- | -------------------------------------- |
2154| type     | string                                   | 是    | 填写"characteristicWrite"字符串,表示特征值写请求事件。 |
2155| callback | Callback&lt;[CharacteristicWriteReq](#characteristicwritereq)&gt; | 是    | 表示回调函数的入参,client端发送的写请求数据。             |
2156
2157**返回值:**
2158
21592160
2161**示例:**
2162
2163```js
2164let arrayBufferCCC = new ArrayBuffer(8);
2165let cccValue = new Uint8Array(arrayBufferCCC);
2166function WriteCharacteristicReq(CharacteristicWriteReq) {
2167  let deviceId = CharacteristicWriteReq.deviceId;
2168  let transId = CharacteristicWriteReq.transId;
2169  let offset = CharacteristicWriteReq.offset;
2170  let isPrep = CharacteristicWriteReq.isPrep;
2171  let needRsp = CharacteristicWriteReq.needRsp;
2172  let value =  new Uint8Array(CharacteristicWriteReq.value);
2173  let characteristicUuid = CharacteristicWriteReq.characteristicUuid;
2174
2175  cccValue[0] = value[0];
2176  let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferCCC};
2177
2178  let ret = gattServer.sendResponse(serverResponse);
2179  if (ret) {
2180    console.log('bluetooth sendResponse successfully');
2181  } else {
2182    console.log('bluetooth sendResponse failed');
2183  }
2184}
2185
2186let gattServer = bluetooth.BLE.createGattServer();
2187gattServer.on("characteristicWrite", WriteCharacteristicReq);
2188```
2189
2190
2191### off('characteristicWrite')<sup>(deprecated)</sup>
2192
2193off(type: "characteristicWrite", callback?: Callback&lt;CharacteristicWriteReq&gt;): void
2194
2195server端取消订阅特征值写请求事件。
2196
2197> **说明:**<br/>
2198> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.off('characteristicWrite')](js-apis-bluetoothManager.md#offcharacteristicwrite)替代。
2199
2200**需要权限**:ohos.permission.USE_BLUETOOTH
2201
2202**系统能力**:SystemCapability.Communication.Bluetooth.Core2203
2204**参数:**
2205
2206| 参数名      | 类型                                       | 必填   | 说明                                       |
2207| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
2208| type     | string                                   | 是    | 填写"characteristicWrite"字符串,表示特征值写请求事件。   |
2209| callback | Callback&lt;[CharacteristicWriteReq](#characteristicwritereq)&gt; | 否    | 表示取消订阅特征值写请求事件上报。不填该参数则取消订阅该type对应的所有回调。 |
2210
2211**返回值:**
2212
22132214
2215**示例:**
2216
2217```js
2218let gattServer = bluetooth.BLE.createGattServer();
2219gattServer.off("characteristicWrite");
2220```
2221
2222
2223### on('descriptorRead')<sup>(deprecated)</sup>
2224
2225on(type: "descriptorRead", callback: Callback&lt;DescriptorReadReq&gt;): void
2226
2227server端订阅描述符读请求事件。
2228
2229> **说明:**<br/>
2230> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.on('descriptorRead')](js-apis-bluetoothManager.md#ondescriptorread)替代。
2231
2232**需要权限**:ohos.permission.USE_BLUETOOTH
2233
2234**系统能力**:SystemCapability.Communication.Bluetooth.Core2235
2236**参数:**
2237
2238| 参数名      | 类型                                       | 必填   | 说明                                |
2239| -------- | ---------------------------------------- | ---- | --------------------------------- |
2240| type     | string                                   | 是    | 填写"descriptorRead"字符串,表示描述符读请求事件。 |
2241| callback | Callback&lt;[DescriptorReadReq](#descriptorreadreq)&gt; | 是    | 表示回调函数的入参,client端发送的读请求数据。        |
2242
2243**返回值:**
2244
22452246
2247**示例:**
2248
2249```js
2250let arrayBufferDesc = new ArrayBuffer(8);
2251let descValue = new Uint8Array(arrayBufferDesc);
2252descValue[0] = 1101;
2253function ReadDescriptorReq(DescriptorReadReq) {
2254  let deviceId = DescriptorReadReq.deviceId;
2255  let transId = DescriptorReadReq.transId;
2256  let offset = DescriptorReadReq.offset;
2257  let descriptorUuid = DescriptorReadReq.descriptorUuid;
2258
2259  let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferDesc};
2260
2261  let ret = gattServer.sendResponse(serverResponse);
2262  if (ret) {
2263    console.log('bluetooth sendResponse successfully');
2264  } else {
2265    console.log('bluetooth sendResponse failed');
2266  }
2267}
2268
2269let gattServer = bluetooth.BLE.createGattServer();
2270gattServer.on("descriptorRead", ReadDescriptorReq);
2271```
2272
2273
2274### off('descriptorRead')<sup>(deprecated)</sup>
2275
2276off(type: "descriptorRead", callback?: Callback&lt;DescriptorReadReq&gt;): void
2277
2278server端取消订阅描述符读请求事件。
2279
2280> **说明:**<br/>
2281> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.off('descriptorRead')](js-apis-bluetoothManager.md#offdescriptorread)替代。
2282
2283**需要权限**:ohos.permission.USE_BLUETOOTH
2284
2285**系统能力**:SystemCapability.Communication.Bluetooth.Core2286
2287**参数:**
2288
2289| 参数名      | 类型                                       | 必填   | 说明                                       |
2290| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
2291| type     | string                                   | 是    | 填写"descriptorRead"字符串,表示描述符读请求事件。        |
2292| callback | Callback&lt;[DescriptorReadReq](#descriptorreadreq)&gt; | 否    | 表示取消订阅描述符读请求事件上报。不填该参数则取消订阅该type对应的所有回调。 |
2293
2294**返回值:**
2295
22962297
2298**示例:**
2299
2300```js
2301let gattServer = bluetooth.BLE.createGattServer();
2302gattServer.off("descriptorRead");
2303```
2304
2305
2306### on('descriptorWrite')<sup>(deprecated)</sup>
2307
2308on(type: "descriptorWrite", callback: Callback&lt;DescriptorWriteReq&gt;): void
2309
2310server端订阅描述符写请求事件。
2311
2312> **说明:**<br/>
2313> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.on('descriptorWrite')](js-apis-bluetoothManager.md#ondescriptorwrite)替代。
2314
2315**需要权限**:ohos.permission.USE_BLUETOOTH
2316
2317**系统能力**:SystemCapability.Communication.Bluetooth.Core2318
2319**参数:**
2320
2321| 参数名      | 类型                                       | 必填   | 说明                                 |
2322| -------- | ---------------------------------------- | ---- | ---------------------------------- |
2323| type     | string                                   | 是    | 填写"descriptorWrite"字符串,表示描述符写请求事件。 |
2324| callback | Callback&lt;[DescriptorWriteReq](#descriptorwritereq)&gt; | 是    | 表示回调函数的入参,client端发送的写请求数据。         |
2325
2326**返回值:**
2327
23282329
2330**示例:**
2331
2332```js
2333let arrayBufferDesc = new ArrayBuffer(8);
2334let descValue = new Uint8Array(arrayBufferDesc);
2335function WriteDescriptorReq(DescriptorWriteReq) {
2336  let deviceId = DescriptorWriteReq.deviceId;
2337  let transId = DescriptorWriteReq.transId;
2338  let offset = DescriptorWriteReq.offset;
2339  let isPrep = DescriptorWriteReq.isPrep;
2340  let needRsp = DescriptorWriteReq.needRsp;
2341  let value = new Uint8Array(DescriptorWriteReq.value);
2342  let descriptorUuid = DescriptorWriteReq.descriptorUuid;
2343
2344  descValue[0] = value[0];
2345  let serverResponse = {deviceId: deviceId, transId: transId, status: 0, offset: offset, value:arrayBufferDesc};
2346
2347  let ret = gattServer.sendResponse(serverResponse);
2348  if (ret) {
2349    console.log('bluetooth sendResponse successfully');
2350  } else {
2351    console.log('bluetooth sendResponse failed');
2352  }
2353}
2354
2355let gattServer = bluetooth.BLE.createGattServer();
2356gattServer.on("descriptorRead", WriteDescriptorReq);
2357```
2358
2359
2360### off('descriptorWrite')<sup>(deprecated)</sup>
2361
2362off(type: "descriptorWrite", callback?: Callback&lt;DescriptorWriteReq&gt;): void
2363
2364server端取消订阅描述符写请求事件。
2365
2366> **说明:**<br/>
2367> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.off('descriptorWrite')](js-apis-bluetoothManager.md#offdescriptorwrite)替代。
2368
2369**需要权限**:ohos.permission.USE_BLUETOOTH
2370
2371**系统能力**:SystemCapability.Communication.Bluetooth.Core2372
2373**参数:**
2374
2375| 参数名      | 类型                                       | 必填   | 说明                                       |
2376| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
2377| type     | string                                   | 是    | 填写"descriptorWrite"字符串,表示描述符写请求事件。       |
2378| callback | Callback&lt;[DescriptorWriteReq](#descriptorwritereq)&gt; | 否    | 表示取消订阅描述符写请求事件上报。不填该参数则取消订阅该type对应的所有回调。 |
2379
2380**返回值:**
2381
23822383
2384**示例:**
2385
2386```js
2387let gattServer = bluetooth.BLE.createGattServer();
2388gattServer.off("descriptorWrite");
2389```
2390
2391
2392### on('connectStateChange')<sup>(deprecated)</sup>
2393
2394on(type: "connectStateChange", callback: Callback&lt;BLEConnectChangedState&gt;): void
2395
2396server端订阅BLE连接状态变化事件。
2397
2398> **说明:**<br/>
2399> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.on('connectStateChange')](js-apis-bluetoothManager.md#onconnectstatechange)替代。
2400
2401**需要权限**:ohos.permission.USE_BLUETOOTH
2402
2403**系统能力**:SystemCapability.Communication.Bluetooth.Core2404
2405**参数:**
2406
2407| 参数名      | 类型                                       | 必填   | 说明                                       |
2408| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
2409| type     | string                                   | 是    | 填写"connectStateChange"字符串,表示BLE连接状态变化事件。 |
2410| callback | Callback&lt;[BLEConnectChangedState](#bleconnectchangedstate)&gt; | 是    | 表示回调函数的入参,连接状态。                          |
2411
2412**返回值:**
2413
24142415
2416**示例:**
2417
2418```js
2419function Connected(BLEConnectChangedState) {
2420  let deviceId = BLEConnectChangedState.deviceId;
2421  let status = BLEConnectChangedState.state;
2422}
2423
2424let gattServer = bluetooth.BLE.createGattServer();
2425gattServer.on("connectStateChange", Connected);
2426```
2427
2428
2429### off('connectStateChange')<sup>(deprecated)</sup>
2430
2431off(type: "connectStateChange", callback?: Callback&lt;BLEConnectChangedState&gt;): void
2432
2433server端取消订阅BLE连接状态变化事件。
2434
2435> **说明:**<br/>
2436> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattServer.off('connectStateChange')](js-apis-bluetoothManager.md#offconnectstatechange)替代。
2437
2438**需要权限**:ohos.permission.USE_BLUETOOTH
2439
2440**系统能力**:SystemCapability.Communication.Bluetooth.Core2441
2442**参数:**
2443
2444| 参数名      | 类型                                       | 必填   | 说明                                       |
2445| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
2446| type     | string                                   | 是    | 填写"connectStateChange"字符串,表示BLE连接状态变化事件。 |
2447| callback | Callback&lt;[BLEConnectChangedState](#bleconnectchangedstate)&gt; | 否    | 表示取消订阅BLE连接状态变化事件。不填该参数则取消订阅该type对应的所有回调。 |
2448
2449**返回值:**
2450
24512452
2453**示例:**
2454
2455```js
2456let gattServer = bluetooth.BLE.createGattServer();
2457gattServer.off("connectStateChange");
2458```
2459
2460
2461## GattClientDevice
2462
2463client端类,使用client端方法之前需要创建该类的实例进行操作,通过createGattClientDevice(deviceId: string)方法构造此实例。
2464
2465
2466### connect<sup>(deprecated)</sup>
2467
2468connect(): boolean
2469
2470client端发起连接远端蓝牙低功耗设备。
2471
2472> **说明:**<br/>
2473> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.connect](js-apis-bluetoothManager.md#connect-3)替代。
2474
2475**需要权限**:ohos.permission.USE_BLUETOOTH
2476
2477**系统能力**:SystemCapability.Communication.Bluetooth.Core2478
2479**返回值:**
2480
2481| 类型      | 说明                        |
2482| ------- | ------------------------- |
2483| boolean | 连接操作成功返回true,操作失败返回false。 |
2484
2485**示例:**
2486
2487```js
2488let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2489let ret = device.connect();
2490```
2491
2492
2493### disconnect<sup>(deprecated)</sup>
2494
2495disconnect(): boolean
2496
2497client端断开与远端蓝牙低功耗设备的连接。
2498
2499> **说明:**<br/>
2500> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.disconnect](js-apis-bluetoothManager.md#disconnect-4)替代。
2501
2502**需要权限**:ohos.permission.USE_BLUETOOTH
2503
2504**系统能力**:SystemCapability.Communication.Bluetooth.Core2505
2506**返回值:**
2507
2508| 类型      | 说明                           |
2509| ------- | ---------------------------- |
2510| boolean | 断开连接操作,成功返回true,操作失败返回false。 |
2511
2512**示例:**
2513
2514```js
2515let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2516let ret = device.disconnect();
2517```
2518
2519
2520### close<sup>(deprecated)</sup>
2521
2522close(): boolean
2523
2524关闭客户端功能,注销client在协议栈的注册,调用该接口后[GattClientDevice](#gattclientdevice)实例将不能再使用。
2525
2526> **说明:**<br/>
2527> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.close](js-apis-bluetoothManager.md#close-1)替代。
2528
2529**需要权限**:ohos.permission.USE_BLUETOOTH
2530
2531**系统能力**:SystemCapability.Communication.Bluetooth.Core2532
2533**返回值:**
2534
2535| 类型      | 说明                         |
2536| ------- | -------------------------- |
2537| boolean | 关闭操作,成功返回true,操作失败返回false。 |
2538
2539**示例:**
2540
2541```js
2542let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2543let ret = device.close();
2544```
2545
2546
2547
2548
2549### getServices<sup>(deprecated)</sup>
2550
2551getServices(callback: AsyncCallback&lt;Array&lt;GattService&gt;&gt;): void
2552
2553client端获取蓝牙低功耗设备的所有服务,即服务发现 。
2554
2555> **说明:**<br/>
2556> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.getServices](js-apis-bluetoothManager.md#getservices)替代。
2557
2558**需要权限**:ohos.permission.USE_BLUETOOTH
2559
2560**系统能力**:SystemCapability.Communication.Bluetooth.Core2561
2562**参数:**
2563
2564| 参数名      | 类型                                       | 必填   | 说明                       |
2565| -------- | ---------------------------------------- | ---- | ------------------------ |
2566| callback | AsyncCallback&lt;Array&lt;[GattService](#gattservice)&gt;&gt; | 是    | client进行服务发现,通过注册回调函数获取。 |
2567
2568**返回值:**
2569
25702571
2572**示例:**
2573
2574```js
2575// callkback 模式
2576function getServices(code, gattServices) {
2577  if (code.code == 0) {
2578      let services = gattServices;
2579      console.log('bluetooth code is ' + code.code);
2580      console.log("bluetooth services size is ", services.length);
2581
2582      for (let i = 0; i < services.length; i++) {
2583        console.log('bluetooth serviceUuid is ' + services[i].serviceUuid);
2584      }
2585  }
2586}
2587
2588let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2589device.connect();
2590device.getServices(getServices);
2591```
2592
2593
2594### getServices<sup>(deprecated)</sup>
2595
2596getServices(): Promise&lt;Array&lt;GattService&gt;&gt;
2597
2598client端获取蓝牙低功耗设备的所有服务,即服务发现。
2599
2600> **说明:**<br/>
2601> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.getServices](js-apis-bluetoothManager.md#getservices-1)替代。
2602
2603**需要权限**:ohos.permission.USE_BLUETOOTH
2604
2605**系统能力**:SystemCapability.Communication.Bluetooth.Core2606
2607**返回值:**
2608
2609| 类型                                       | 说明                          |
2610| ---------------------------------------- | --------------------------- |
2611| Promise&lt;Array&lt;[GattService](#gattservice)&gt;&gt; | client进行服务发现,通过promise形式获取。 |
2612
2613**示例:**
2614
2615```js
2616// Promise 模式
2617let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2618device.connect();
2619device.getServices().then(result => {
2620    console.info("getServices successfully:" + JSON.stringify(result));
2621});
2622```
2623
2624
2625### readCharacteristicValue<sup>(deprecated)</sup>
2626
2627readCharacteristicValue(characteristic: BLECharacteristic, callback: AsyncCallback&lt;BLECharacteristic&gt;): void
2628
2629client端读取蓝牙低功耗设备特定服务的特征值。
2630
2631> **说明:**<br/>
2632> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.readCharacteristicValue](js-apis-bluetoothManager.md#readcharacteristicvalue)替代。
2633
2634**需要权限**:ohos.permission.USE_BLUETOOTH
2635
2636**系统能力**:SystemCapability.Communication.Bluetooth.Core2637
2638**参数:**
2639
2640| 参数名            | 类型                                       | 必填   | 说明                      |
2641| -------------- | ---------------------------------------- | ---- | ----------------------- |
2642| characteristic | [BLECharacteristic](#blecharacteristic)  | 是    | 待读取的特征值。                |
2643| callback       | AsyncCallback&lt;[BLECharacteristic](#blecharacteristic)&gt; | 是    | client读取特征值,通过注册回调函数获取。 |
2644
2645**返回值:**
2646
26472648
2649**示例:**
2650
2651```js
2652function readCcc(code, BLECharacteristic) {
2653  if (code.code != 0) {
2654      return;
2655  }
2656  console.log('bluetooth characteristic uuid: ' + BLECharacteristic.characteristicUuid);
2657  let value = new Uint8Array(BLECharacteristic.characteristicValue);
2658  console.log('bluetooth characteristic value: ' + value[0] +','+ value[1]+','+ value[2]+','+ value[3]);
2659}
2660
2661let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2662let descriptors = [];
2663let bufferDesc = new ArrayBuffer(8);
2664let descV = new Uint8Array(bufferDesc);
2665descV[0] = 11;
2666let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2667characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
2668descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
2669descriptors[0] = descriptor;
2670
2671let bufferCCC = new ArrayBuffer(8);
2672let cccV = new Uint8Array(bufferCCC);
2673cccV[0] = 1;
2674let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2675characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
2676characteristicValue: bufferCCC, descriptors:descriptors};
2677
2678device.readCharacteristicValue(characteristic, readCcc);
2679```
2680
2681
2682### readCharacteristicValue<sup>(deprecated)</sup>
2683
2684readCharacteristicValue(characteristic: BLECharacteristic): Promise&lt;BLECharacteristic&gt;
2685
2686client端读取蓝牙低功耗设备特定服务的特征值。
2687
2688> **说明:**<br/>
2689> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.readCharacteristicValue](js-apis-bluetoothManager.md#readcharacteristicvalue-1)替代。
2690
2691**需要权限**:ohos.permission.USE_BLUETOOTH
2692
2693**系统能力**:SystemCapability.Communication.Bluetooth.Core2694
2695**参数:**
2696
2697| 参数名            | 类型                                      | 必填   | 说明       |
2698| -------------- | --------------------------------------- | ---- | -------- |
2699| characteristic | [BLECharacteristic](#blecharacteristic) | 是    | 待读取的特征值。 |
2700
2701**返回值:**
2702
2703| 类型                                       | 说明                         |
2704| ---------------------------------------- | -------------------------- |
2705| Promise&lt;[BLECharacteristic](#blecharacteristic)&gt; | client读取特征值,通过promise形式获取。 |
2706
2707**示例:**
2708
2709```js
2710let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2711let descriptors = [];
2712let bufferDesc = new ArrayBuffer(8);
2713let descV = new Uint8Array(bufferDesc);
2714descV[0] = 11;
2715let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2716characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
2717descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
2718descriptors[0] = descriptor;
2719
2720let bufferCCC = new ArrayBuffer(8);
2721let cccV = new Uint8Array(bufferCCC);
2722cccV[0] = 1;
2723let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2724characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
2725characteristicValue: bufferCCC, descriptors:descriptors};
2726
2727device.readCharacteristicValue(characteristic);
2728```
2729
2730
2731### readDescriptorValue<sup>(deprecated)</sup>
2732
2733readDescriptorValue(descriptor: BLEDescriptor, callback: AsyncCallback&lt;BLEDescriptor&gt;): void
2734
2735client端读取蓝牙低功耗设备特定的特征包含的描述符。
2736
2737> **说明:**<br/>
2738> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.readDescriptorValue](js-apis-bluetoothManager.md#readdescriptorvalue)替代。
2739
2740**需要权限**:ohos.permission.USE_BLUETOOTH
2741
2742**系统能力**:SystemCapability.Communication.Bluetooth.Core2743
2744**参数:**
2745
2746| 参数名        | 类型                                       | 必填   | 说明                      |
2747| ---------- | ---------------------------------------- | ---- | ----------------------- |
2748| descriptor | [BLEDescriptor](#bledescriptor)          | 是    | 待读取的描述符。                |
2749| callback   | AsyncCallback&lt;[BLEDescriptor](#bledescriptor)&gt; | 是    | client读取描述符,通过注册回调函数获取。 |
2750
2751**返回值:**
2752
27532754
2755**示例:**
2756
2757```js
2758function readDesc(code, BLEDescriptor) {
2759  if (code.code != 0) {
2760      return;
2761  }
2762  console.log('bluetooth descriptor uuid: ' + BLEDescriptor.descriptorUuid);
2763  let value = new Uint8Array(BLEDescriptor.descriptorValue);
2764  console.log('bluetooth descriptor value: ' + value[0] +','+ value[1]+','+ value[2]+','+ value[3]);
2765}
2766
2767let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2768let bufferDesc = new ArrayBuffer(8);
2769let descV = new Uint8Array(bufferDesc);
2770descV[0] = 11;
2771let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2772  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
2773  descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
2774device.readDescriptorValue(descriptor, readDesc);
2775```
2776
2777
2778### readDescriptorValue<sup>(deprecated)</sup>
2779
2780readDescriptorValue(descriptor: BLEDescriptor): Promise&lt;BLEDescriptor&gt;
2781
2782client端读取蓝牙低功耗设备特定的特征包含的描述符。
2783
2784> **说明:**<br/>
2785> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.readDescriptorValue](js-apis-bluetoothManager.md#readdescriptorvalue-1)替代。
2786
2787**需要权限**:ohos.permission.USE_BLUETOOTH
2788
2789**系统能力**:SystemCapability.Communication.Bluetooth.Core2790
2791**参数:**
2792
2793| 参数名        | 类型                              | 必填   | 说明       |
2794| ---------- | ------------------------------- | ---- | -------- |
2795| descriptor | [BLEDescriptor](#bledescriptor) | 是    | 待读取的描述符。 |
2796
2797**返回值:**
2798
2799| 类型                                       | 说明                         |
2800| ---------------------------------------- | -------------------------- |
2801| Promise&lt;[BLEDescriptor](#bledescriptor)&gt; | client读取描述符,通过promise形式获取。 |
2802
2803**示例:**
2804
2805```js
2806let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2807let bufferDesc = new ArrayBuffer(8);
2808let descV = new Uint8Array(bufferDesc);
2809descV[0] = 11;
2810let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2811  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
2812  descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
2813device.readDescriptorValue(descriptor);
2814```
2815
2816
2817### writeCharacteristicValue<sup>(deprecated)</sup>
2818
2819writeCharacteristicValue(characteristic: BLECharacteristic): boolean
2820
2821client端向低功耗蓝牙设备写入特定的特征值。
2822
2823> **说明:**<br/>
2824> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.writeCharacteristicValue](js-apis-bluetoothManager.md#writecharacteristicvalue)替代。
2825
2826**需要权限**:ohos.permission.USE_BLUETOOTH
2827
2828**系统能力**:SystemCapability.Communication.Bluetooth.Core2829
2830**参数:**
2831
2832| 参数名            | 类型                                      | 必填   | 说明                  |
2833| -------------- | --------------------------------------- | ---- | ------------------- |
2834| characteristic | [BLECharacteristic](#blecharacteristic) | 是    | 蓝牙设备特征对应的二进制值及其它参数。 |
2835
2836**返回值:**
2837
2838| 类型      | 说明                          |
2839| ------- | --------------------------- |
2840| boolean | 写特征值操作成功返回true,操作失败返回false。 |
2841
2842**示例:**
2843
2844```js
2845let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2846let descriptors = [];
2847let bufferDesc = new ArrayBuffer(8);
2848let descV = new Uint8Array(bufferDesc);
2849descV[0] = 11;
2850let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2851  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
2852  descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
2853descriptors[0] = descriptor;
2854
2855let bufferCCC = new ArrayBuffer(8);
2856let cccV = new Uint8Array(bufferCCC);
2857cccV[0] = 1;
2858let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2859  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
2860  characteristicValue: bufferCCC, descriptors:descriptors};
2861let retWriteCcc = device.writeCharacteristicValue(characteristic);
2862if (retWriteCcc) {
2863  console.log('write characteristic successfully');
2864} else {
2865  console.log('write characteristic failed');
2866}
2867```
2868
2869
2870### writeDescriptorValue<sup>(deprecated)</sup>
2871
2872writeDescriptorValue(descriptor: BLEDescriptor): boolean
2873
2874client端向低功耗蓝牙设备特定的描述符写入二进制数据。
2875
2876> **说明:**<br/>
2877> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.writeDescriptorValue](js-apis-bluetoothManager.md#writedescriptorvalue)替代。
2878
2879**需要权限**:ohos.permission.USE_BLUETOOTH
2880
2881**系统能力**:SystemCapability.Communication.Bluetooth.Core2882
2883**参数:**
2884
2885| 参数名        | 类型                              | 必填   | 说明                 |
2886| ---------- | ------------------------------- | ---- | ------------------ |
2887| descriptor | [BLEDescriptor](#bledescriptor) | 是    | 蓝牙设备描述符的二进制值及其它参数。 |
2888
2889**返回值:**
2890
2891| 类型      | 说明                          |
2892| ------- | --------------------------- |
2893| boolean | 写描述符操作成功返回true,操作失败返回false。 |
2894
2895**示例:**
2896
2897```js
2898let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2899let bufferDesc = new ArrayBuffer(8);
2900let descV = new Uint8Array(bufferDesc);
2901descV[0] = 22;
2902let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2903  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
2904  descriptorUuid: '00002903-0000-1000-8000-00805F9B34FB', descriptorValue: bufferDesc};
2905let retWriteDesc = device.writeDescriptorValue(descriptor);
2906if (retWriteDesc) {
2907  console.log('bluetooth write descriptor successfully');
2908} else {
2909  console.log('bluetooth write descriptor failed');
2910}
2911```
2912
2913
2914### setBLEMtuSize<sup>(deprecated)</sup>
2915
2916setBLEMtuSize(mtu: number): boolean
2917
2918client协商远端蓝牙低功耗设备的最大传输单元(Maximum Transmission Unit, MTU),调用[connect](#connect)接口连接成功后才能使用。
2919
2920> **说明:**<br/>
2921> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.setBLEMtuSize](js-apis-bluetoothManager.md#setblemtusize)替代。
2922
2923**需要权限**:ohos.permission.USE_BLUETOOTH
2924
2925**系统能力**:SystemCapability.Communication.Bluetooth.Core2926
2927**参数:**
2928
2929| 参数名  | 类型     | 必填   | 说明             |
2930| ---- | ------ | ---- | -------------- |
2931| mtu  | number | 是    | 设置范围为22~512字节。 |
2932
2933**返回值:**
2934
2935| 类型      | 说明                           |
2936| ------- | ---------------------------- |
2937| boolean | MTU协商操作成功返回true,操作失败返回false。 |
2938
2939**示例:**
2940
2941```js
2942let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2943device.setBLEMtuSize(128);
2944```
2945
2946
2947### setNotifyCharacteristicChanged<sup>(deprecated)</sup>
2948
2949setNotifyCharacteristicChanged(characteristic: BLECharacteristic, enable: boolean): boolean
2950
2951向服务端发送设置通知此特征值请求。
2952
2953> **说明:**<br/>
2954> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.setNotifyCharacteristicChanged](js-apis-bluetoothManager.md#setnotifycharacteristicchanged)替代。
2955
2956**需要权限**:ohos.permission.USE_BLUETOOTH
2957
2958**系统能力**:SystemCapability.Communication.Bluetooth.Core2959
2960**参数:**
2961
2962| 参数名            | 类型                                      | 必填   | 说明                            |
2963| -------------- | --------------------------------------- | ---- | ----------------------------- |
2964| characteristic | [BLECharacteristic](#blecharacteristic) | 是    | 蓝牙低功耗特征。                      |
2965| enable         | boolean                                 | 是    | 启用接收notify设置为true,否则设置为false。 |
2966
2967**返回值:**
2968
2969| 类型      | 说明                        |
2970| ------- | ------------------------- |
2971| boolean | 设置操作成功返回true,操作失败返回false。 |
2972
2973**示例:**
2974
2975```js
2976// 创建descriptors
2977let descriptors = [];
2978let arrayBuffer = new ArrayBuffer(8);
2979let descV = new Uint8Array(arrayBuffer);
2980descV[0] = 11;
2981let descriptor = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2982  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB',
2983  descriptorUuid: '00002902-0000-1000-8000-00805F9B34FB', descriptorValue: arrayBuffer};
2984descriptors[0] = descriptor;
2985let arrayBufferC = new ArrayBuffer(8);
2986let characteristic = {serviceUuid: '00001810-0000-1000-8000-00805F9B34FB',
2987  characteristicUuid: '00001820-0000-1000-8000-00805F9B34FB', characteristicValue: arrayBufferC, descriptors:descriptors};
2988let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
2989device.setNotifyCharacteristicChanged(characteristic, false);
2990```
2991
2992
2993### on('BLECharacteristicChange')<sup>(deprecated)</sup>
2994
2995on(type: "BLECharacteristicChange", callback: Callback&lt;BLECharacteristic&gt;): void
2996
2997订阅蓝牙低功耗设备的特征值变化事件。需要先调用setNotifyCharacteristicChanged接口才能接收server端的通知。
2998
2999> **说明:**<br/>
3000> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.on('BLECharacteristicChange')](js-apis-bluetoothManager.md#onblecharacteristicchange)替代。
3001
3002**需要权限**:ohos.permission.USE_BLUETOOTH
3003
3004**系统能力**:SystemCapability.Communication.Bluetooth.Core3005
3006**参数:**
3007
3008| 参数名      | 类型                                       | 必填   | 说明                                       |
3009| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
3010| type     | string                                   | 是    | 填写"BLECharacteristicChange"字符串,表示特征值变化事件。 |
3011| callback | Callback&lt;[BLECharacteristic](#blecharacteristic)&gt; | 是    | 表示蓝牙低功耗设备的特征值变化事件的回调函数。                  |
3012
3013**返回值:**
3014
30153016
3017**示例:**
3018
3019```js
3020function CharacteristicChange(CharacteristicChangeReq) {
3021  let serviceUuid = CharacteristicChangeReq.serviceUuid;
3022  let characteristicUuid = CharacteristicChangeReq.characteristicUuid;
3023  let value = new Uint8Array(CharacteristicChangeReq.characteristicValue);
3024}
3025let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
3026device.on('BLECharacteristicChange', CharacteristicChange);
3027```
3028
3029
3030### off('BLECharacteristicChange')<sup>(deprecated)</sup>
3031
3032off(type: "BLECharacteristicChange", callback?: Callback&lt;BLECharacteristic&gt;): void
3033
3034取消订阅蓝牙低功耗设备的特征值变化事件。
3035
3036> **说明:**<br/>
3037> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.off('BLECharacteristicChange')](js-apis-bluetoothManager.md#offblecharacteristicchange)替代。
3038
3039**需要权限**:ohos.permission.USE_BLUETOOTH
3040
3041**系统能力**:SystemCapability.Communication.Bluetooth.Core3042
3043**参数:**
3044
3045| 参数名      | 类型                                       | 必填   | 说明                                       |
3046| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
3047| type     | string                                   | 是    | 填写"BLECharacteristicChange"字符串,表示特征值变化事件。 |
3048| callback | Callback&lt;[BLECharacteristic](#blecharacteristic)&gt; | 否    | 表示取消订阅蓝牙低功耗设备的特征值变化事件。不填该参数则取消订阅该type对应的所有回调。 |
3049
3050**返回值:**
3051
30523053
3054**示例:**
3055
3056```js
3057let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
3058device.off('BLECharacteristicChange');
3059```
3060
3061
3062### on('BLEConnectionStateChange')<sup>(deprecated)</sup>
3063
3064on(type: "BLEConnectionStateChange", callback: Callback&lt;BLEConnectChangedState&gt;): void
3065
3066client端订阅蓝牙低功耗设备的连接状态变化事件。
3067
3068> **说明:**<br/>
3069> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.on('BLEConnectionStateChange')](js-apis-bluetoothManager.md#onbleconnectionstatechange)替代。
3070
3071**需要权限**:ohos.permission.USE_BLUETOOTH
3072
3073**系统能力**:SystemCapability.Communication.Bluetooth.Core3074
3075**参数:**
3076
3077| 参数名      | 类型                                       | 必填   | 说明                                       |
3078| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
3079| type     | string                                   | 是    | 填写"BLEConnectionStateChange"字符串,表示连接状态变化事件。 |
3080| callback | Callback&lt;[BLEConnectChangedState](#bleconnectchangedstate)&gt; | 是    | 表示连接状态,已连接或断开。                           |
3081
3082**返回值:**
3083
30843085
3086**示例:**
3087
3088```js
3089function ConnectStateChanged(state) {
3090  console.log('bluetooth connect state changed');
3091  let connectState = state.state;
3092}
3093let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
3094device.on('BLEConnectionStateChange', ConnectStateChanged);
3095```
3096
3097
3098### off('BLEConnectionStateChange')<sup>(deprecated)</sup>
3099
3100off(type: "BLEConnectionStateChange", callback?: Callback&lt;BLEConnectChangedState&gt;): void
3101
3102取消订阅蓝牙低功耗设备的连接状态变化事件。
3103
3104> **说明:**<br/>
3105> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.off('BLEConnectionStateChange')](js-apis-bluetoothManager.md#offbleconnectionstatechange)替代。
3106
3107**需要权限**:ohos.permission.USE_BLUETOOTH
3108
3109**系统能力**:SystemCapability.Communication.Bluetooth.Core3110
3111**参数:**
3112
3113| 参数名      | 类型                                       | 必填   | 说明                                       |
3114| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
3115| type     | string                                   | 是    | 填写"BLEConnectionStateChange"字符串,表示连接状态变化事件。 |
3116| callback | Callback&lt;[BLEConnectChangedState](#bleconnectchangedstate)&gt; | 否    | 表示取消订阅蓝牙低功耗设备的连接状态变化事件。不填该参数则取消订阅该type对应的所有回调。 |
3117
3118**返回值:**
3119
31203121
3122**示例:**
3123
3124```js
3125let device = bluetooth.BLE.createGattClientDevice('XX:XX:XX:XX:XX:XX');
3126device.off('BLEConnectionStateChange');
3127```
3128
3129
3130### getDeviceName<sup>(deprecated)</sup>
3131
3132getDeviceName(callback: AsyncCallback&lt;string&gt;): void
3133
3134client获取远端蓝牙低功耗设备名。
3135
3136> **说明:**<br/>
3137> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.getDeviceName](js-apis-bluetoothManager.md#getdevicename)替代。
3138
3139**需要权限**:ohos.permission.USE_BLUETOOTH
3140
3141**系统能力**:SystemCapability.Communication.Bluetooth.Core3142
3143**参数:**
3144
3145| 参数名      | 类型                          | 必填   | 说明                              |
3146| -------- | --------------------------- | ---- | ------------------------------- |
3147| callback | AsyncCallback&lt;string&gt; | 是    | client获取对端server设备名,通过注册回调函数获取。 |
3148
3149**返回值:**
3150
31513152
3153**示例:**
3154
3155```js
3156// callback
3157let gattClient = bluetooth.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX");
3158let deviceName = gattClient.getDeviceName((err, data)=> {
3159    console.info('device name err ' + JSON.stringify(err));
3160    console.info('device name' + JSON.stringify(data));
3161})
3162```
3163
3164
3165### getDeviceName<sup>(deprecated)</sup>
3166
3167getDeviceName(): Promise&lt;string&gt;
3168
3169client获取远端蓝牙低功耗设备名。
3170
3171> **说明:**<br/>
3172> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.getDeviceName](js-apis-bluetoothManager.md#getdevicename-1)替代。
3173
3174**需要权限**:ohos.permission.USE_BLUETOOTH
3175
3176**系统能力**:SystemCapability.Communication.Bluetooth.Core3177
3178**返回值:**
3179
3180| 类型                    | 说明                                 |
3181| --------------------- | ---------------------------------- |
3182| Promise&lt;string&gt; | client获取对端server设备名,通过promise形式获取。 |
3183
3184**示例:**
3185
3186```js
3187// promise
3188let gattClient = bluetooth.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX");
3189let ret = device.connect();
3190let deviceName = gattClient.getDeviceName().then((data) => {
3191    console.info('device name' + JSON.stringify(data));
3192})
3193```
3194
3195
3196### getRssiValue<sup>(deprecated)</sup>
3197
3198getRssiValue(callback: AsyncCallback&lt;number&gt;): void
3199
3200client获取远端蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI),调用[connect](#connect)接口连接成功后才能使用。
3201
3202> **说明:**<br/>
3203> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.getRssiValue](js-apis-bluetoothManager.md#getrssivalue)替代。
3204
3205**需要权限**:ohos.permission.USE_BLUETOOTH
3206
3207**系统能力**:SystemCapability.Communication.Bluetooth.Core3208
3209**参数:**
3210
3211| 参数名      | 类型                          | 必填   | 说明                             |
3212| -------- | --------------------------- | ---- | ------------------------------ |
3213| callback | AsyncCallback&lt;number&gt; | 是    | 返回信号强度,单位&nbsp;dBm,通过注册回调函数获取。 |
3214
3215**返回值:**
3216
32173218
3219**示例:**
3220
3221```js
3222// callback
3223let gattClient = bluetooth.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX");
3224let ret = device.connect();
3225let rssi = gattClient.getRssiValue((err, data)=> {
3226    console.info('rssi err ' + JSON.stringify(err));
3227    console.info('rssi value' + JSON.stringify(data));
3228})
3229```
3230
3231
3232### getRssiValue<sup>(deprecated)</sup>
3233
3234getRssiValue(): Promise&lt;number&gt;
3235
3236client获取远端蓝牙低功耗设备的信号强度 (Received Signal Strength Indication, RSSI),调用[connect](#connect)接口连接成功后才能使用。
3237
3238> **说明:**<br/>
3239> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattClientDevice.getRssiValue](js-apis-bluetoothManager.md#getrssivalue-1)替代。
3240
3241**需要权限**:ohos.permission.USE_BLUETOOTH
3242
3243**系统能力**:SystemCapability.Communication.Bluetooth.Core3244
3245**返回值:**
3246
3247| 类型                    | 说明                                |
3248| --------------------- | --------------------------------- |
3249| Promise&lt;number&gt; | 返回信号强度,单位&nbsp;dBm,通过promise形式获取。 |
3250
3251**示例:**
3252
3253```js
3254// promise
3255let gattClient = bluetooth.BLE.createGattClientDevice("XX:XX:XX:XX:XX:XX");
3256let rssi = gattClient.getRssiValue().then((data) => {
3257    console.info('rssi' + JSON.stringify(data));
3258})
3259```
3260
3261## ScanMode<sup>8+</sup><sup>(deprecated)</sup><a name="ScanMode"></a>
3262
3263枚举,扫描模式。
3264
3265> **说明:**<br/>
3266> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.ScanMode](js-apis-bluetoothManager.md#scanmode)替代。
3267
3268**系统能力**:SystemCapability.Communication.Bluetooth.Core3269
3270| 名称                                       | 值  | 说明              |
3271| ---------------------------------------- | ---- | --------------- |
3272| SCAN_MODE_NONE                           | 0    | 没有扫描模式。         |
3273| SCAN_MODE_CONNECTABLE                    | 1    | 可连接扫描模式。        |
3274| SCAN_MODE_GENERAL_DISCOVERABLE           | 2    | general发现模式。    |
3275| SCAN_MODE_LIMITED_DISCOVERABLE           | 3    | limited发现模式。    |
3276| SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE | 4    | 可连接general发现模式。 |
3277| SCAN_MODE_CONNECTABLE_LIMITED_DISCOVERABLE | 5    | 可连接limited发现模式。 |
3278
3279## BondState<sup>8+</sup><sup>(deprecated)</sup><a name="BondState"></a>
3280
3281枚举,配对状态。
3282
3283> **说明:**<br/>
3284> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BondState](js-apis-bluetoothManager.md#bondstate)替代。
3285
3286**系统能力**:SystemCapability.Communication.Bluetooth.Core3287
3288| 名称                 | 值  | 说明     |
3289| ------------------ | ---- | ------ |
3290| BOND_STATE_INVALID | 0    | 无效的配对。 |
3291| BOND_STATE_BONDING | 1    | 正在配对。  |
3292| BOND_STATE_BONDED  | 2    | 已配对。   |
3293
3294
3295## SppOption<sup>8+</sup><sup>(deprecated)</sup><a name="SppOption"></a>
3296
3297描述spp的配置参数。
3298
3299> **说明:**<br/>
3300> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.SppOption](js-apis-bluetoothManager.md#sppoption)替代。
3301
3302**系统能力**:SystemCapability.Communication.Bluetooth.Core3303
3304| 名称     | 类型                | 可读   | 可写   | 说明          |
3305| ------ | ------------------- | ---- | ---- | ----------- |
3306| uuid   | string              | 是    | 是    | spp单据的uuid。 |
3307| secure | boolean             | 是    | 是    | 是否是安全通道。    |
3308| type   | [SppType](#spptype) | 是    | 是    | Spp链路类型。    |
3309
3310
3311## SppType<sup>8+</sup><sup>(deprecated)</sup><a name="SppType"></a>
3312
3313枚举,Spp链路类型。
3314
3315> **说明:**<br/>
3316> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.SppType](js-apis-bluetoothManager.md#spptype)替代。
3317
3318**系统能力**:SystemCapability.Communication.Bluetooth.Core3319
3320| 名称         | 值  | 说明            |
3321| ---------- | ---- | ------------- |
3322| SPP_RFCOMM | 0    | 表示rfcomm链路类型。 |
3323
3324
3325## GattService<sup>(deprecated)</sup>
3326
3327描述service的接口参数定义。
3328
3329> **说明:**<br/>
3330> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.GattService](js-apis-bluetoothManager.md#gattservice)替代。
3331
3332**系统能力**:SystemCapability.Communication.Bluetooth.Core3333
3334| 名称              | 类型                                     | 可读   | 可写   | 说明                                       |
3335| --------------- | ---------------------------------------- | ---- | ---- | ---------------------------------------- |
3336| serviceUuid     | string                                   | 是    | 是    | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
3337| isPrimary       | boolean                                  | 是    | 是    | 如果是主服务设置为true,否则设置为false。                |
3338| characteristics | Array&lt;[BLECharacteristic](#blecharacteristic)&gt; | 是    | 是    | 当前服务包含的特征列表。                             |
3339| includeServices | Array&lt;[GattService](#gattservice)&gt; | 是    | 是    | 当前服务依赖的其它服务。                             |
3340
3341
3342## BLECharacteristic<sup>(deprecated)</sup>
3343
3344描述characteristic的接口参数定义 。
3345
3346> **说明:**<br/>
3347> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BLECharacteristic](js-apis-bluetoothManager.md#blecharacteristic)替代。
3348
3349**系统能力**:SystemCapability.Communication.Bluetooth.Core3350
3351| 名称                  | 类型                                     | 可读   | 可写   | 说明                                       |
3352| ------------------- | ---------------------------------------- | ---- | ---- | ---------------------------------------- |
3353| serviceUuid         | string                                   | 是    | 是    | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
3354| characteristicUuid  | string                                   | 是    | 是    | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
3355| characteristicValue | ArrayBuffer                              | 是    | 是    | 特征对应的二进制值。                               |
3356| descriptors         | Array&lt;[BLEDescriptor](#bledescriptor)&gt; | 是    | 是    | 特定特征的描述符列表。                              |
3357
3358
3359## BLEDescriptor<sup>(deprecated)</sup>
3360
3361描述descriptor的接口参数定义 。
3362
3363> **说明:**<br/>
3364> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BLEDescriptor](js-apis-bluetoothManager.md#bledescriptor)替代。
3365
3366**系统能力**:SystemCapability.Communication.Bluetooth.Core3367
3368| 名称                 | 类型        | 可读   | 可写   | 说明                                       |
3369| ------------------ | ----------- | ---- | ---- | ---------------------------------------- |
3370| serviceUuid        | string      | 是    | 是    | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
3371| characteristicUuid | string      | 是    | 是    | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
3372| descriptorUuid     | string      | 是    | 是    | 描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
3373| descriptorValue    | ArrayBuffer | 是    | 是    | 描述符对应的二进制值。                              |
3374
3375
3376## NotifyCharacteristic<sup>(deprecated)</sup>
3377
3378描述server端特征值变化时发送的特征通知参数定义。
3379
3380> **说明:**<br/>
3381> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.NotifyCharacteristic](js-apis-bluetoothManager.md#notifycharacteristic)替代。
3382
3383**系统能力**:SystemCapability.Communication.Bluetooth.Core3384
3385| 名称                  | 类型        | 可读   | 可写   | 说明                                       |
3386| ------------------- | ----------- | ---- | ---- | ---------------------------------------- |
3387| serviceUuid         | string      | 是    | 是    | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
3388| characteristicUuid  | string      | 是    | 是    | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
3389| characteristicValue | ArrayBuffer | 是    | 是    | 特征对应的二进制值。                               |
3390| confirm             | boolean     | 是    | 是    | 如果是notification则对端回复确认设置为true,如果是indication则对端不需要回复确认设置为false。 |
3391
3392
3393## CharacteristicReadReq<sup>(deprecated)</sup>
3394
3395描述server端订阅后收到的特征值读请求事件参数结构。
3396
3397> **说明:**<br/>
3398> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.CharacteristicReadRequest](js-apis-bluetoothManager.md#characteristicreadrequest)替代。
3399
3400**系统能力**:SystemCapability.Communication.Bluetooth.Core3401
3402| 名称                 | 类型   | 可读   | 可写   | 说明                                       |
3403| ------------------ | ------ | ---- | ---- | ---------------------------------------- |
3404| deviceId           | string | 是    | 否    | 表示发送特征值读请求的远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
3405| transId            | number | 是    | 否    | 表示读请求的传输ID,server端回复响应时需填写相同的传输ID。       |
3406| offset             | number | 是    | 否    | 表示读特征值数据的起始位置。例如:k表示从第k个字节开始读,server端回复响应时需填写相同的offset。 |
3407| characteristicUuid | string | 是    | 否    | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
3408| serviceUuid        | string | 是    | 否    | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
3409
3410
3411## CharacteristicWriteReq<sup>(deprecated)</sup>
3412
3413描述server端订阅后收到的特征值写请求事件参数结构。
3414
3415> **说明:**<br/>
3416> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.CharacteristicWriteRequest](js-apis-bluetoothManager.md#characteristicwriterequest)替代。
3417
3418**系统能力**:SystemCapability.Communication.Bluetooth.Core3419
3420| 名称                 | 类型   | 可读   | 可写   | 说明                                       |
3421| ------------------ | ------ | ---- | ---- | ---------------------------------------- |
3422| deviceId           | string | 是    | 否    | 表示发送特征值写请求的远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
3423| transId            | number | 是    | 否    | 表示写请求的传输ID,server端回复响应时需填写相同的传输ID。       |
3424| offset             | number | 是    | 否    | 表示写特征值数据的起始位置。例如:k表示从第k个字节开始写,server端回复响应时需填写相同的offset。 |
3425| descriptorUuid     | string | 是    | 否    | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
3426| characteristicUuid | string | 是    | 否    | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
3427| serviceUuid        | string | 是    | 否    | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
3428
3429
3430## DescriptorReadReq<sup>(deprecated)</sup>
3431
3432描述server端订阅后收到的描述符读请求事件参数结构。
3433
3434> **说明:**<br/>
3435> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.DescriptorReadRequest](js-apis-bluetoothManager.md#descriptorreadrequest)替代。
3436
3437**系统能力**:SystemCapability.Communication.Bluetooth.Core3438
3439| 名称                 | 类型   | 可读   | 可写   | 说明                                       |
3440| ------------------ | ------ | ---- | ---- | ---------------------------------------- |
3441| deviceId           | string | 是    | 否    | 表示发送描述符读请求的远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
3442| transId            | number | 是    | 否    | 表示读请求的传输ID,server端回复响应时需填写相同的传输ID。       |
3443| offset             | number | 是    | 否    | 表示读描述符数据的起始位置。例如:k表示从第k个字节开始读,server端回复响应时需填写相同的offset。 |
3444| descriptorUuid     | string | 是    | 否    | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
3445| characteristicUuid | string | 是    | 否    | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
3446| serviceUuid        | string | 是    | 否    | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
3447
3448
3449## DescriptorWriteReq<sup>(deprecated)</sup>
3450
3451描述server端订阅后收到的描述符写请求事件参数结构。
3452
3453> **说明:**<br/>
3454> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.DescriptorWriteRequest](js-apis-bluetoothManager.md#descriptorwriterequest)替代。
3455
3456**系统能力**:SystemCapability.Communication.Bluetooth.Core3457
3458| 名称                 | 类型        | 可读   | 可写   | 说明                                       |
3459| ------------------ | ----------- | ---- | ---- | ---------------------------------------- |
3460| deviceId           | string      | 是    | 否    | 表示发送描述符写请求的远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
3461| transId            | number      | 是    | 否    | 表示写请求的传输ID,server端回复响应时需填写相同的传输ID。       |
3462| offset             | number      | 是    | 否    | 表示写描述符数据的起始位置。例如:k表示从第k个字节开始写,server端回复响应时需填写相同的offset。 |
3463| isPrep             | boolean     | 是    | 否    | 表示写请求是否立即执行。                             |
3464| needRsp            | boolean     | 是    | 否    | 表示是否要给client端回复响应。                       |
3465| value              | ArrayBuffer | 是    | 否    | 表示写入的描述符二进制数据。                           |
3466| descriptorUuid     | string      | 是    | 否    | 表示描述符(descriptor)的UUID,例如:00002902-0000-1000-8000-00805f9b34fb。 |
3467| characteristicUuid | string      | 是    | 否    | 特定特征(characteristic)的UUID,例如:00002a11-0000-1000-8000-00805f9b34fb。 |
3468| serviceUuid        | string      | 是    | 否    | 特定服务(service)的UUID,例如:00001888-0000-1000-8000-00805f9b34fb。 |
3469
3470
3471## ServerResponse<sup>(deprecated)</sup>
3472
3473描述server端回复client端读/写请求的响应参数结构。
3474
3475> **说明:**<br/>
3476> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.ServerResponse](js-apis-bluetoothManager.md#serverresponse)替代。
3477
3478**系统能力**:SystemCapability.Communication.Bluetooth.Core3479
3480| 名称       | 类型        | 可读   | 可写   | 说明                                     |
3481| -------- | ----------- | ---- | ---- | -------------------------------------- |
3482| deviceId | string      | 是    | 否    | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。       |
3483| transId  | number      | 是    | 否    | 表示请求的传输ID,与订阅的读/写请求事件携带的ID保持一致。        |
3484| status   | number      | 是    | 否    | 表示响应的状态,设置为0即可,表示正常。                   |
3485| offset   | number      | 是    | 否    | 表示请求的读/写起始位置,与订阅的读/写请求事件携带的offset保持一致。 |
3486| value    | ArrayBuffer | 是    | 否    | 表示回复响应的二进制数据。                          |
3487
3488
3489## BLEConnectChangedState<sup>(deprecated)</sup>
3490
3491描述Gatt profile连接状态 。
3492
3493> **说明:**<br/>
3494> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BLEConnectChangedState](js-apis-bluetoothManager.md#bleconnectchangedstate)替代。
3495
3496**系统能力**:SystemCapability.Communication.Bluetooth.Core3497
3498| 名称     | 类型                                          | 可读 | 可写 | 说明                                          |
3499| -------- | ------------------------------------------------- | ---- | ---- | --------------------------------------------- |
3500| deviceId | string                                            | 是   | 否   | 表示远端设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
3501| state    | [ProfileConnectionState](#profileconnectionstate) | 是   | 是   | 表示BLE连接状态的枚举。                       |
3502
3503
3504## ProfileConnectionState<sup>(deprecated)</sup>
3505
3506枚举,蓝牙设备的profile连接状态。
3507
3508> **说明:**<br/>
3509> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.ProfileConnectionState](js-apis-bluetoothManager.md#profileconnectionstate)替代。
3510
3511**系统能力**:SystemCapability.Communication.Bluetooth.Core3512
3513| 名称                  | 值  | 说明             |
3514| ------------------- | ---- | -------------- |
3515| STATE_DISCONNECTED  | 0    | 表示profile已断连。  |
3516| STATE_CONNECTING    | 1    | 表示profile正在连接。 |
3517| STATE_CONNECTED     | 2    | 表示profile已连接。  |
3518| STATE_DISCONNECTING | 3    | 表示profile正在断连。 |
3519
3520
3521## ScanFilter<sup>(deprecated)</sup>
3522
3523扫描过滤参数。
3524
3525> **说明:**<br/>
3526> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.ScanFilter](js-apis-bluetoothManager.md#scanfilter)替代。
3527
3528**系统能力**:SystemCapability.Communication.Bluetooth.Core3529
3530| 名称                                     | 类型    | 可读 | 可写 | 说明                                                         |
3531| ---------------------------------------- | ----------- | ---- | ---- | ------------------------------------------------------------ |
3532| deviceId                                 | string      | 是   | 是   | 表示过滤的BLE设备地址,例如:"XX:XX:XX:XX:XX:XX"。           |
3533| name                                     | string      | 是   | 是   | 表示过滤的BLE设备名。                                        |
3534| serviceUuid                              | string      | 是   | 是   | 表示过滤包含该UUID服务的设备,例如:00001888-0000-1000-8000-00805f9b34fb。 |
3535
3536
3537## ScanOptions<sup>(deprecated)</sup>
3538
3539扫描的配置参数。
3540
3541> **说明:**<br/>
3542> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.ScanOptions](js-apis-bluetoothManager.md#scanoptions)替代。
3543
3544**系统能力**:SystemCapability.Communication.Bluetooth.Core3545
3546| 名称        | 类型                    | 可读   | 可写   | 说明                                     |
3547| --------- | ----------------------- | ---- | ---- | -------------------------------------- |
3548| interval  | number                  | 是    | 是    | 表示扫描结果上报延迟时间,默认值为0。                    |
3549| dutyMode  | [ScanDuty](#scanduty)   | 是    | 是    | 表示扫描模式,默认值为SCAN_MODE_LOW_POWER。        |
3550| matchMode | [MatchMode](#matchmode) | 是    | 是    | 表示硬件的过滤匹配模式,默认值为MATCH_MODE_AGGRESSIVE。 |
3551
3552
3553## ScanDuty<sup>(deprecated)</sup>
3554
3555枚举,扫描模式。
3556
3557> **说明:**<br/>
3558> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.ScanDuty](js-apis-bluetoothManager.md#scanduty)替代。
3559
3560**系统能力**:SystemCapability.Communication.Bluetooth.Core3561
3562| 名称                    | 值  | 说明           |
3563| --------------------- | ---- | ------------ |
3564| SCAN_MODE_LOW_POWER   | 0    | 表示低功耗模式,默认值。 |
3565| SCAN_MODE_BALANCED    | 1    | 表示均衡模式。      |
3566| SCAN_MODE_LOW_LATENCY | 2    | 表示低延迟模式。     |
3567
3568
3569## MatchMode<sup>(deprecated)</sup>
3570
3571枚举,硬件过滤匹配模式。
3572
3573> **说明:**<br/>
3574> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.MatchMode](js-apis-bluetoothManager.md#matchmode)替代。
3575
3576**系统能力**:SystemCapability.Communication.Bluetooth.Core3577
3578| 名称                    | 值  | 说明                                       |
3579| --------------------- | ---- | ---------------------------------------- |
3580| MATCH_MODE_AGGRESSIVE | 1    | 表示硬件上报扫描结果门限较低,比如扫描到的功率较低或者一段时间扫描到的次数较少也触发上报,默认值。 |
3581| MATCH_MODE_STICKY     | 2    | 表示硬件上报扫描结果门限较高,更高的功率门限以及扫描到多次才会上报。       |
3582
3583
3584## ScanResult<sup>(deprecated)</sup>
3585
3586扫描结果上报数据。
3587
3588> **说明:**<br/>
3589> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.ScanResult](js-apis-bluetoothManager.md#scanresult)替代。
3590
3591**系统能力**:SystemCapability.Communication.Bluetooth.Core3592
3593| 名称       | 类型        | 可读   | 可写   | 说明                                 |
3594| -------- | ----------- | ---- | ---- | ---------------------------------- |
3595| deviceId | string      | 是    | 否    | 表示扫描到的设备地址,例如:"XX:XX:XX:XX:XX:XX"。 |
3596| rssi     | number      | 是    | 否    | 表示扫描到的设备的rssi值。                    |
3597| data     | ArrayBuffer | 是    | 否    | 表示扫描到的设备发送的广播包。                    |
3598
3599
3600## BluetoothState<sup>(deprecated)</sup>
3601
3602枚举,蓝牙开关状态。
3603
3604> **说明:**<br/>
3605> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BluetoothState](js-apis-bluetoothManager.md#bluetoothstate)替代。
3606
3607**系统能力**:SystemCapability.Communication.Bluetooth.Core3608
3609| 名称                    | 值  | 说明                 |
3610| --------------------- | ---- | ------------------ |
3611| STATE_OFF             | 0    | 表示蓝牙已关闭。           |
3612| STATE_TURNING_ON      | 1    | 表示蓝牙正在打开。          |
3613| STATE_ON              | 2    | 表示蓝牙已打开。           |
3614| STATE_TURNING_OFF     | 3    | 表示蓝牙正在关闭。          |
3615| STATE_BLE_TURNING_ON  | 4    | 表示蓝牙正在打开LE-only模式。 |
3616| STATE_BLE_ON          | 5    | 表示蓝牙正处于LE-only模式。  |
3617| STATE_BLE_TURNING_OFF | 6    | 表示蓝牙正在关闭LE-only模式。 |
3618
3619
3620## AdvertiseSetting<sup>(deprecated)</sup>
3621
3622描述蓝牙低功耗设备发送广播的参数。
3623
3624> **说明:**<br/>
3625> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.AdvertiseSetting](js-apis-bluetoothManager.md#advertisesetting)替代。
3626
3627**系统能力**:SystemCapability.Communication.Bluetooth.Core3628
3629| 名称          | 类型    | 可读   | 可写   | 说明                                       |
3630| ----------- | ------- | ---- | ---- | ---------------------------------------- |
3631| interval    | number  | 是    | 是    | 表示广播间隔,最小值设置32个slot表示20ms,最大值设置16384个slot,默认值设置为1600个slot表示1s。 |
3632| txPower     | number  | 是    | 是    | 表示发送功率,最小值设置-127,最大值设置1,默认值设置-7,单位dbm。   |
3633| connectable | boolean | 是    | 是    | 表示是否是可连接广播,默认值设置为true。                   |
3634
3635
3636## AdvertiseData<sup>(deprecated)</sup>
3637
3638描述BLE广播数据包的内容。
3639
3640> **说明:**<br/>
3641> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.AdvertiseData](js-apis-bluetoothManager.md#advertisedata)替代。
3642
3643**系统能力**:SystemCapability.Communication.Bluetooth.Core3644
3645| 名称              | 类型                                     | 可读   | 可写   | 说明                          |
3646| --------------- | ---------------------------------------- | ---- | ---- | --------------------------- |
3647| serviceUuids    | Array&lt;string&gt;                      | 是    | 是    | 表示要广播的服务&nbsp;UUID&nbsp;列表。 |
3648| manufactureData | Array&lt;[ManufactureData](#manufacturedata)&gt; | 是    | 是    | 表示要广播的广播的制造商信息列表。           |
3649| serviceData     | Array&lt;[ServiceData](#servicedata)&gt; | 是    | 是    | 表示要广播的服务数据列表。               |
3650
3651
3652## ManufactureData<sup>(deprecated)</sup>
3653
3654描述BLE广播数据包的内容。
3655
3656> **说明:**<br/>
3657> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.ManufactureData](js-apis-bluetoothManager.md#manufacturedata)替代。
3658
3659**系统能力**:SystemCapability.Communication.Bluetooth.Core3660
3661| 名称               | 类型                | 可读   | 可写   | 说明                 |
3662| ---------------- | ------------------- | ---- | ---- | ------------------ |
3663| manufactureId    | number  | 是    | 是    | 表示制造商的ID,由蓝牙SIG分配。 |
3664| manufactureValue | ArrayBuffer         | 是    | 是    | 表示制造商发送的制造商数据。     |
3665
3666
3667## ServiceData<sup>(deprecated)</sup>
3668
3669描述广播包中服务数据内容。
3670
3671> **说明:**<br/>
3672> 从API version 7开始支持,从API version 9开始废弃。建议使用[bluetoothManager.ServiceData](js-apis-bluetoothManager.md#servicedata)替代。
3673
3674**系统能力**:SystemCapability.Communication.Bluetooth.Core3675
3676| 名称           | 类型        | 可读   | 可写   | 说明         |
3677| ------------ | ----------- | ---- | ---- | ---------- |
3678| serviceUuid  | string      | 是    | 是    | 表示服务的UUID。 |
3679| serviceValue | ArrayBuffer | 是    | 是    | 表示服务数据。    |
3680
3681
3682## PinRequiredParam<sup>8+</sup><sup>(deprecated)</sup><a name="PinRequiredParam"></a>
3683
3684描述配对请求参数。
3685
3686> **说明:**<br/>
3687> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.PinRequiredParam](js-apis-bluetoothManager.md#pinrequiredparam)替代。
3688
3689**系统能力**:SystemCapability.Communication.Bluetooth.Core3690
3691| 名称       | 类型   | 可读   | 可写   | 说明          |
3692| -------- | ------ | ---- | ---- | ----------- |
3693| deviceId | string | 是    | 否    | 表示要配对的设备ID。 |
3694| pinCode  | string | 是    | 否    | 表示要配对的密钥。   |
3695
3696
3697## BondStateParam<sup>8+</sup><sup>(deprecated)</sup><a name="BondStateParam"></a>
3698
3699描述配对状态参数。
3700
3701> **说明:**<br/>
3702> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.BondStateParam](js-apis-bluetoothManager.md#bondstateparam)替代。
3703
3704**系统能力**:SystemCapability.Communication.Bluetooth.Core3705
3706| 名称       | 类型   | 可读   | 可写   | 说明          |
3707| -------- | ------ | ---- | ---- | ----------- |
3708| deviceId | string      | 是    | 否    | 表示要配对的设备ID。 |
3709| state    | BondState   | 是    | 否    | 表示配对设备的状态。 |
3710
3711
3712## StateChangeParam<sup>8+</sup><sup>(deprecated)</sup><a name="StateChangeParam"></a>
3713
3714描述profile状态改变参数。
3715
3716> **说明:**<br/>
3717> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.StateChangeParam](js-apis-bluetoothManager.md#statechangeparam)替代。
3718
3719**系统能力**:SystemCapability.Communication.Bluetooth.Core3720
3721| 名称     | 类型                                          | 可读 | 可写 | 说明                            |
3722| -------- | ------------------------------------------------- | ---- | ---- | ------------------------------- |
3723| deviceId | string                                            | 是   | 否   | 表示蓝牙设备地址。              |
3724| state    | [ProfileConnectionState](#profileconnectionstate) | 是   | 否   | 表示蓝牙设备的profile连接状态。 |
3725
3726
3727## DeviceClass<sup>8+</sup><sup>(deprecated)</sup><a name="DeviceClass"></a>
3728
3729描述蓝牙设备的类别。
3730
3731> **说明:**<br/>
3732> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.DeviceClass](js-apis-bluetoothManager.md#deviceclass)替代。
3733
3734**系统能力**:SystemCapability.Communication.Bluetooth.Core3735
3736| 名称              | 类型                                | 可读   | 可写   | 说明               |
3737| --------------- | ----------------------------------- | ---- | ---- | ---------------- |
3738| majorClass      | [MajorClass](#majorclass)           | 是    | 否    | 表示蓝牙设备主要类别的枚举。   |
3739| majorMinorClass | [MajorMinorClass](#majorminorclass) | 是    | 否    | 表示主要次要蓝牙设备类别的枚举。 |
3740| classOfDevice   | number                              | 是    | 否    | 表示设备类别。          |
3741
3742
3743
3744## MajorClass<sup>8+</sup><sup>(deprecated)</sup><a name="MajorClass"></a>
3745
3746枚举,蓝牙设备主要类别。
3747
3748> **说明:**<br/>
3749> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.MajorClass](js-apis-bluetoothManager.md#majorclass)替代。
3750
3751**系统能力**:SystemCapability.Communication.Bluetooth.Core3752
3753| 名称                  | 值    | 说明         |
3754| ------------------- | ------ | ---------- |
3755| MAJOR_MISC          | 0x0000 | 表示杂项设备。    |
3756| MAJOR_COMPUTER      | 0x0100 | 表示计算机设备。   |
3757| MAJOR_PHONE         | 0x0200 | 表示手机设备。    |
3758| MAJOR_NETWORKING    | 0x0300 | 表示网络设备。    |
3759| MAJOR_AUDIO_VIDEO   | 0x0400 | 表示音频和视频设备。 |
3760| MAJOR_PERIPHERAL    | 0x0500 | 表示外围设备。    |
3761| MAJOR_IMAGING       | 0x0600 | 表示成像设备。    |
3762| MAJOR_WEARABLE      | 0x0700 | 表示可穿戴设备。   |
3763| MAJOR_TOY           | 0x0800 | 表示玩具设备。    |
3764| MAJOR_HEALTH        | 0x0900 | 表示健康设备。    |
3765| MAJOR_UNCATEGORIZED | 0x1F00 | 表示未分类设备。   |
3766
3767
3768## MajorMinorClass<sup>8+</sup><sup>(deprecated)</sup><a name="MajorMinorClass"></a>
3769
3770枚举,主要次要蓝牙设备类别。
3771
3772> **说明:**<br/>
3773> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.MajorMinorClass](js-apis-bluetoothManager.md#majorminorclass)替代。
3774
3775**系统能力**:SystemCapability.Communication.Bluetooth.Core3776
3777| 名称                                       | 值    | 说明              |
3778| ---------------------------------------- | ------ | --------------- |
3779| COMPUTER_UNCATEGORIZED                   | 0x0100 | 表示未分类计算机设备。     |
3780| COMPUTER_DESKTOP                         | 0x0104 | 表示台式计算机设备。      |
3781| COMPUTER_SERVER                          | 0x0108 | 表示服务器设备。        |
3782| COMPUTER_LAPTOP                          | 0x010C | 表示便携式计算机设备。     |
3783| COMPUTER_HANDHELD_PC_PDA                 | 0x0110 | 表示手持式计算机设备。     |
3784| COMPUTER_PALM_SIZE_PC_PDA                | 0x0114 | 表示掌上电脑设备。       |
3785| COMPUTER_WEARABLE                        | 0x0118 | 表示可穿戴计算机设备。     |
3786| COMPUTER_TABLET                          | 0x011C | 表示平板电脑设备。       |
3787| PHONE_UNCATEGORIZED                      | 0x0200 | 表示未分类手机设备。      |
3788| PHONE_CELLULAR                           | 0x0204 | 表示便携式手机设备。      |
3789| PHONE_CORDLESS                           | 0x0208 | 表示无线电话设备。       |
3790| PHONE_SMART                              | 0x020C | 表示智能手机设备。       |
3791| PHONE_MODEM_OR_GATEWAY                   | 0x0210 | 表示调制解调器或网关手机设备。 |
3792| PHONE_ISDN                               | 0x0214 | 表示ISDN手机设备。     |
3793| NETWORK_FULLY_AVAILABLE                  | 0x0300 | 表示网络完全可用设备。     |
3794| NETWORK_1_TO_17_UTILIZED                 | 0x0320 | 表示使用网络1到17设备。   |
3795| NETWORK_17_TO_33_UTILIZED                | 0x0340 | 表示使用网络17到33设备。  |
3796| NETWORK_33_TO_50_UTILIZED                | 0x0360 | 表示使用网络33到50设备。  |
3797| NETWORK_60_TO_67_UTILIZED                | 0x0380 | 表示使用网络60到67设备。  |
3798| NETWORK_67_TO_83_UTILIZED                | 0x03A0 | 表示使用网络67到83设备。  |
3799| NETWORK_83_TO_99_UTILIZED                | 0x03C0 | 表示使用网络83到99设备。  |
3800| NETWORK_NO_SERVICE                       | 0x03E0 | 表示网络无服务设备。      |
3801| AUDIO_VIDEO_UNCATEGORIZED                | 0x0400 | 表示未分类音频视频设备。    |
3802| AUDIO_VIDEO_WEARABLE_HEADSET             | 0x0404 | 表示可穿戴式音频视频设备。   |
3803| AUDIO_VIDEO_HANDSFREE                    | 0x0408 | 表示免提音频视频设备。     |
3804| AUDIO_VIDEO_MICROPHONE                   | 0x0410 | 表示麦克风音频视频设备。    |
3805| AUDIO_VIDEO_LOUDSPEAKER                  | 0x0414 | 表示扬声器音频视频设备。    |
3806| AUDIO_VIDEO_HEADPHONES                   | 0x0418 | 表示头戴式音频视频设备。    |
3807| AUDIO_VIDEO_PORTABLE_AUDIO               | 0x041C | 表示便携式音频视频设备。    |
3808| AUDIO_VIDEO_CAR_AUDIO                    | 0x0420 | 表示汽车音频视频设备。     |
3809| AUDIO_VIDEO_SET_TOP_BOX                  | 0x0424 | 表示机顶盒音频视频设备。    |
3810| AUDIO_VIDEO_HIFI_AUDIO                   | 0x0428 | 表示高保真音响设备。      |
3811| AUDIO_VIDEO_VCR                          | 0x042C | 表示录像机音频视频设备。    |
3812| AUDIO_VIDEO_VIDEO_CAMERA                 | 0x0430 | 表示照相机音频视频设备。    |
3813| AUDIO_VIDEO_CAMCORDER                    | 0x0434 | 表示摄像机音频视频设备。    |
3814| AUDIO_VIDEO_VIDEO_MONITOR                | 0x0438 | 表示监视器音频视频设备。    |
3815| AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER | 0x043C | 表示视频显示器和扬声器设备。  |
3816| AUDIO_VIDEO_VIDEO_CONFERENCING           | 0x0440 | 表示音频视频会议设备。     |
3817| AUDIO_VIDEO_VIDEO_GAMING_TOY             | 0x0448 | 表示游戏玩具音频视频设备。   |
3818| PERIPHERAL_NON_KEYBOARD_NON_POINTING     | 0x0500 | 表示非键盘非指向外围设备。   |
3819| PERIPHERAL_KEYBOARD                      | 0x0540 | 表示外设键盘设备。       |
3820| PERIPHERAL_POINTING_DEVICE               | 0x0580 | 表示定点装置外围设备。     |
3821| PERIPHERAL_KEYBOARD_POINTING             | 0x05C0 | 表示键盘指向外围设备。     |
3822| PERIPHERAL_UNCATEGORIZED                 | 0x0500 | 表示未分类外围设备。      |
3823| PERIPHERAL_JOYSTICK                      | 0x0504 | 表示周边操纵杆设备。      |
3824| PERIPHERAL_GAMEPAD                       | 0x0508 | 表示周边游戏板设备。      |
3825| PERIPHERAL_REMOTE_CONTROL                | 0x05C0 | 表示远程控制外围设备。     |
3826| PERIPHERAL_SENSING_DEVICE                | 0x0510 | 表示外围传感设备设备。     |
3827| PERIPHERAL_DIGITIZER_TABLET              | 0x0514 | 表示外围数字化仪平板电脑设备。 |
3828| PERIPHERAL_CARD_READER                   | 0x0518 | 表示外围读卡器设备。      |
3829| PERIPHERAL_DIGITAL_PEN                   | 0x051C | 表示外设数码笔设备。      |
3830| PERIPHERAL_SCANNER_RFID                  | 0x0520 | 表示射频识别扫描仪外围设备。  |
3831| PERIPHERAL_GESTURAL_INPUT                | 0x0522 | 表示手势输入外围设备。     |
3832| IMAGING_UNCATEGORIZED                    | 0x0600 | 表示未分类的图像设备。     |
3833| IMAGING_DISPLAY                          | 0x0610 | 表示图像显示设备。       |
3834| IMAGING_CAMERA                           | 0x0620 | 表示成像照相机设备。      |
3835| IMAGING_SCANNER                          | 0x0640 | 表示成像扫描仪设备。      |
3836| IMAGING_PRINTER                          | 0x0680 | 表示成像打印机设备。      |
3837| WEARABLE_UNCATEGORIZED                   | 0x0700 | 表示未分类的可穿戴设备。    |
3838| WEARABLE_WRIST_WATCH                     | 0x0704 | 表示可穿戴腕表设备。      |
3839| WEARABLE_PAGER                           | 0x0708 | 表示可穿戴寻呼机设备。     |
3840| WEARABLE_JACKET                          | 0x070C | 表示夹克可穿戴设备。      |
3841| WEARABLE_HELMET                          | 0x0710 | 表示可穿戴头盔设备。      |
3842| WEARABLE_GLASSES                         | 0x0714 | 表示可穿戴眼镜设备。      |
3843| TOY_UNCATEGORIZED                        | 0x0800 | 表示未分类的玩具设备。     |
3844| TOY_ROBOT                                | 0x0804 | 表示玩具机器人设备。      |
3845| TOY_VEHICLE                              | 0x0808 | 表示玩具车设备。        |
3846| TOY_DOLL_ACTION_FIGURE                   | 0x080C | 表示人形娃娃玩具设备。     |
3847| TOY_CONTROLLER                           | 0x0810 | 表示玩具控制器设备。      |
3848| TOY_GAME                                 | 0x0814 | 表示玩具游戏设备。       |
3849| HEALTH_UNCATEGORIZED                     | 0x0900 | 表示未分类健康设备。      |
3850| HEALTH_BLOOD_PRESSURE                    | 0x0904 | 表示血压健康设备。       |
3851| HEALTH_THERMOMETER                       | 0x0908 | 表示温度计健康设备。      |
3852| HEALTH_WEIGHING                          | 0x090C | 表示体重健康设备。       |
3853| HEALTH_GLUCOSE                           | 0x0910 | 表示葡萄糖健康设备。      |
3854| HEALTH_PULSE_OXIMETER                    | 0x0914 | 表示脉搏血氧仪健康设备。    |
3855| HEALTH_PULSE_RATE                        | 0x0918 | 表示脉搏率健康设备。      |
3856| HEALTH_DATA_DISPLAY                      | 0x091C | 表示数据显示健康设备。     |
3857| HEALTH_STEP_COUNTER                      | 0x0920 | 表示阶梯计数器健康设备。    |
3858| HEALTH_BODY_COMPOSITION_ANALYZER         | 0x0924 | 表示身体成分分析仪健康设备。  |
3859| HEALTH_PEAK_FLOW_MOITOR                  | 0x0928 | 表示湿度计健康设备。      |
3860| HEALTH_MEDICATION_MONITOR                | 0x092C | 表示药物监视仪健康设备。    |
3861| HEALTH_KNEE_PROSTHESIS                   | 0x0930 | 表示膝盖假肢健康设备。     |
3862| HEALTH_ANKLE_PROSTHESIS                  | 0x0934 | 表示脚踝假肢健康设备。     |
3863| HEALTH_GENERIC_HEALTH_MANAGER            | 0x0938 | 表示通用健康管理设备。     |
3864| HEALTH_PERSONAL_MOBILITY_DEVICE          | 0x093C | 表示个人移动健康设备。     |
3865
3866
3867## PlayingState<sup>8+</sup><sup>(deprecated)</sup><a name="PlayingState"></a>
3868
3869枚举,蓝牙A2DP 播放状态。
3870
3871> **说明:**<br/>
3872> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.PlayingState](js-apis-bluetoothManager.md#playingstate)替代。
3873
3874**系统能力**:SystemCapability.Communication.Bluetooth.Core3875
3876| 名称                | 值    | 说明      |
3877| ----------------- | ------ | ------- |
3878| STATE_NOT_PLAYING | 0x0000 | 表示未播放。  |
3879| STATE_PLAYING     | 0x0001 | 表示正在播放。 |
3880
3881
3882## ProfileId<sup>8+</sup><sup>(deprecated)</sup><a name="ProfileId"></a>
3883
3884蓝牙profile枚举,API9新增PROFILE_HID_HOST,PROFILE_PAN_NETWORK。
3885
3886> **说明:**<br/>
3887> 从API version 8开始支持,从API version 9开始废弃。建议使用[bluetoothManager.ProfileId](js-apis-bluetoothManager.md#profileid)替代。
3888
3889**系统能力**:SystemCapability.Communication.Bluetooth.Core3890
3891| 名称                               | 值    | 说明              |
3892| -------------------------------- | ------ | --------------- |
3893| PROFILE_A2DP_SOURCE              | 1 | 表示A2DP profile。 |
3894| PROFILE_HANDS_FREE_AUDIO_GATEWAY | 4 | 表示HFP profile。  |
3895