1# @system.bluetooth (蓝牙) 2 3 4> **说明:** 5> 6> - 从API Version 7 开始,该接口不再维护,推荐使用新接口[`@ohos.bluetooth`](js-apis-bluetooth.md)。 7> 8> - 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 9 10 11## 导入模块 12 13 14``` 15import bluetooth from '@system.bluetooth'; 16``` 17 18## bluetooth.startBLEScan(OBJECT) 19 20开始搜寻附近的低功耗蓝牙外围设备。此操作比较耗费系统资源,请在搜索并连接到设备后调用[bluetooth.stopBLEScan](#bluetoothstopblescanobject)方法停止搜索。 21 22**系统能力:** SystemCapability.Communication.Bluetooth.Lite 23 24**参数:** 25**表1** StartBLEScanOptions 26 27| 名称 | 类型 | 必填 | 说明 | 28| -------- | -------- | -------- | -------- | 29| interval | number | 否 | 上报设备的间隔,单位毫秒,默认值为0。0表示找到新设备立即上报,其他数值根据传入的间隔上报。 | 30| success | Function | 否 | 接口调用成功的回调函数。 | 31| fail | Function | 否 | 接口调用失败的回调函数。 | 32| complete | Function | 否 | 接口调用结束的回调函数。 | 33 34**示例:** 35 36 ``` 37 bluetooth.startBLEScan({ 38 interval:0, 39 success() { 40 console.log('call bluetooth.startBLEScan success.'); 41 }, 42 fail(code, data) { 43 console.log('call bluetooth.startBLEScan failed, code:' + code + ', data:' + data); 44 }, 45 complete() { 46 console.log('call bluetooth.startBLEScan complete.'); 47 } 48 }); 49 ``` 50 51 52## bluetooth.stopBLEScan(OBJECT) 53 54停止搜寻附近的低功耗蓝牙外围设备。与[bluetooth.startBLEScan(OBJECT)](#bluetoothstartblescanobject)接口配套使用。 55 56**系统能力:** SystemCapability.Communication.Bluetooth.Lite 57 58**参数:** 59**表2** StopBLEScanOptions 60 61| 名称 | 类型 | 必填 | 说明 | 62| -------- | -------- | -------- | -------- | 63| success | Function | 否 | 接口调用成功的回调函数。 | 64| fail | Function | 否 | 接口调用失败的回调函数。 | 65| complete | Function | 否 | 接口调用结束的回调函数。 | 66 67**示例:** 68 69 ``` 70 bluetooth.stopBLEScan({ 71 success() { 72 console.log('call bluetooth.stopBLEScan success.'); 73 }, 74 fail(data, code) { 75 console.log('call bluethooth.stopBLEScan fail, code:' + code + ', data:' + data); 76 }, 77 complete() { 78 console.log('call bluethooth.stopBLEScan complete.'); 79 } 80 }); 81 ``` 82 83 84## bluetooth.subscribeBLEFound(OBJECT) 85 86订阅寻找到新设备。再次调用时,会覆盖前一次调用效果,即仅最后一次调用生效。 87 88**系统能力:** SystemCapability.Communication.Bluetooth.Lite 89 90**参数:** 91**表3** SubscribeBLEFoundOptions 92 93| 名称 | 类型 | 必填 | 说明 | 94| -------- | -------- | -------- | -------- | 95| success | Function | 是 | 寻找到新设备上报时调用的回调函数。 | 96| fail | Function | 否 | 接口调用失败的回调函数。 | 97 98**表4** success返回值: 99 100| 参数名 | 类型 | 说明 | 101| -------- | -------- | -------- | 102| devices | Array<BluetoothDevice> | 新搜索到的设备列表。 | 103 104**表5** BluethoothDevice 105 106| 参数名 | 类型 | 说明 | 107| -------- | -------- | -------- | 108| addrType | string | 设备地址类型,可能值有:<br/>- public: 公共地址<br/>- random: 随机地址 | 109| addr | string | 设备MAC地址。 | 110| rssi | number | 设备蓝牙的信号强弱指标。 | 111| txpower | string | 广播数据中的txpower字段。 | 112| data | hex string | 广播数据(包含广播数据和扫描响应数据),十六进制字符串。 | 113 114**示例:** 115 116 ``` 117 bluetooth.subscribeBLEFound({ 118 success(data) { 119 console.log('call bluetooth.subscribeBLEFound success, data: ${data}.'); 120 }, 121 fail(data, code) { 122 console.log('call bluetooth.startBLEScan failed, code:' + code + ', data:' + data); 123 } 124 }); 125 ``` 126 127 128## bluetooth.unsubscribeBLEFound() 129 130解除订阅寻找到新设备。 131 132**系统能力:** SystemCapability.Communication.Bluetooth.Lite 133 134**示例:** 135 136 ``` 137 bluetooth.unsubscribeBLEFound(); 138 ``` 139 140 141## 常见错误码 142 143| 错误码 | 说明 | 144| -------- | -------- | 145| 1100 | 是否处于已连接状态。 | 146| 1101 | 当前蓝牙适配器不可用。 | 147| 1102 | 没有找到指定设备。 | 148| 1103 | 连接失败。 | 149| 1104 | 没有找到指定服务。 | 150| 1105 | 没有找到指定特征值。 | 151| 1106 | 当前连接已断开。 | 152| 1107 | 当前特征值不支持此操作。 | 153| 1108 | 其余所有系统上报的异常。 | 154| 1109 | 系统版本不支持 BLE。 | 155