• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/>-&nbsp;public:&nbsp;公共地址<br/>-&nbsp;random:&nbsp;随机地址 |
109| addr | string | 设备MAC地址。 |
110| rssi | number | 设备蓝牙的信号强弱指标。 |
111| txpower | string | 广播数据中的txpower字段。 |
112| data | hex&nbsp;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 | 系统版本不支持&nbsp;BLE。 |
155