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