• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.bluetooth.access (蓝牙access模块)
2
3access模块提供了打开和关闭蓝牙、获取蓝牙状态的方法。
4
5> **说明:**
6>
7> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9
10## 导入模块
11
12```js
13import access from '@ohos.bluetooth.access';
14```
15
16
17## access.enableBluetooth<a name="enableBluetooth"></a>
18
19enableBluetooth(): void
20
21开启蓝牙。
22
23**需要权限**:ohos.permission.ACCESS_BLUETOOTH
24
25**系统能力**:SystemCapability.Communication.Bluetooth.Core26
27**错误码**:
28
29以下错误码的详细介绍请参见[蓝牙服务子系统错误码](../errorcodes/errorcode-bluetoothManager.md)。
30
31| 错误码ID | 错误信息            |
32| -------- | ------------------ |
33|2900001   | Service stopped.   |
34|2900099   | Operation failed.  |
35
36**示例:**
37
38```js
39import { BusinessError } from '@ohos.base';
40try {
41    access.enableBluetooth();
42} catch (err) {
43    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
44}
45```
46
47
48## access.disableBluetooth<a name="disableBluetooth"></a>
49
50disableBluetooth(): void
51
52关闭蓝牙。
53
54**需要权限**:ohos.permission.ACCESS_BLUETOOTH
55
56**系统能力**:SystemCapability.Communication.Bluetooth.Core57
58**错误码**:
59
60以下错误码的详细介绍请参见[蓝牙服务子系统错误码](../errorcodes/errorcode-bluetoothManager.md)。
61
62|错误码ID   | 错误信息           |
63| -------- | ------------------ |
64|2900001   | Service stopped.   |
65|2900099   | Operation failed.  |
66
67**示例:**
68
69```js
70import { BusinessError } from '@ohos.base';
71try {
72    access.disableBluetooth();
73} catch (err) {
74    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
75}
76```
77
78
79## access.getState<a name="getState"></a>
80
81getState(): BluetoothState
82
83获取蓝牙开关状态。
84
85**需要权限**:ohos.permission.ACCESS_BLUETOOTH
86
87**系统能力**:SystemCapability.Communication.Bluetooth.Core88
89**返回值:**
90
91| 类型                              | 说明              |
92| --------------------------------- | ---------------- |
93| [BluetoothState](#bluetoothstate) | 表示蓝牙开关状态。 |
94
95**错误码**:
96
97以下错误码的详细介绍请参见[蓝牙服务子系统错误码](../errorcodes/errorcode-bluetoothManager.md)。
98
99|错误码ID   | 错误信息           |
100| -------- | ------------------ |
101|2900001   | Service stopped.   |
102|2900099   | Operation failed.  |
103
104**示例:**
105
106```js
107import { BusinessError } from '@ohos.base';
108try {
109    let state = access.getState();
110} catch (err) {
111    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
112}
113```
114
115
116## access.on('stateChange')<a name="stateChange"></a>
117
118on(type: "stateChange", callback: Callback&lt;BluetoothState&gt;): void
119
120订阅蓝牙设备开关状态事件。
121
122**需要权限**:ohos.permission.ACCESS_BLUETOOTH
123
124**系统能力**:SystemCapability.Communication.Bluetooth.Core125
126**参数:**
127
128| 参数名   | 类型                                               | 必填  | 说明                                                       |
129| -------- | ------------------------------------------------- | ----- | ---------------------------------------------------------- |
130| type     | string                                            | 是    | 填写"stateChange"字符串,表示蓝牙状态改变事件。               |
131| callback | Callback&lt;[BluetoothState](#bluetoothstate)&gt; | 是    | 表示回调函数的入参,蓝牙状态。回调函数由用户创建通过该接口注册。 |
132
133**错误码**:
134
135以下错误码的详细介绍请参见[蓝牙服务子系统错误码](../errorcodes/errorcode-bluetoothManager.md)。
136
137|错误码ID   | 错误信息           |
138| -------- | ------------------ |
139|2900099   | Operation failed.  |
140
141**示例:**
142
143```js
144import { BusinessError } from '@ohos.base';
145function onReceiveEvent(data: access.BluetoothState) {
146    console.info('bluetooth state = '+ JSON.stringify(data));
147}
148try {
149    access.on('stateChange', onReceiveEvent);
150} catch (err) {
151    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
152}
153```
154
155
156## access.off('stateChange')<a name="stateChange"></a>
157
158off(type: "stateChange", callback?: Callback&lt;BluetoothState&gt;): void
159
160取消订阅蓝牙设备开关状态事件。
161
162**需要权限**:ohos.permission.ACCESS_BLUETOOTH
163
164**系统能力**:SystemCapability.Communication.Bluetooth.Core165
166**参数:**
167
168| 参数名      | 类型                                       | 必填   | 说明                                       |
169| -------- | ---------------------------------------- | ---- | ---------------------------------------- |
170| type     | string                                   | 是    | 填写"stateChange"字符串,表示蓝牙状态改变事件。           |
171| callback | Callback&lt;[BluetoothState](#bluetoothstate)&gt; | 否    | 表示取消订阅蓝牙状态改变事件上报。不填该参数则取消订阅该type对应的所有回调。 |
172
173**错误码**:
174
175以下错误码的详细介绍请参见[蓝牙服务子系统错误码](../errorcodes/errorcode-bluetoothManager.md)。
176
177| 错误码ID | 错误信息 |
178| -------- | ---------------------------- |
179|2900099 | Operation failed.                        |
180
181**示例:**
182
183```js
184import { BusinessError } from '@ohos.base';
185function onReceiveEvent(data: access.BluetoothState) {
186    console.info('bluetooth state = '+ JSON.stringify(data));
187}
188try {
189    access.on('stateChange', onReceiveEvent);
190    access.off('stateChange', onReceiveEvent);
191} catch (err) {
192    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
193}
194```
195
196
197## BluetoothState<a name="BluetoothState"></a>
198
199枚举,蓝牙开关状态。
200
201**系统能力**:SystemCapability.Communication.Bluetooth.Core202
203| 名称                    | 值  | 说明                 |
204| --------------------- | ---- | ------------------ |
205| STATE_OFF             | 0    | 表示蓝牙已关闭。           |
206| STATE_TURNING_ON      | 1    | 表示蓝牙正在打开。          |
207| STATE_ON              | 2    | 表示蓝牙已打开。           |
208| STATE_TURNING_OFF     | 3    | 表示蓝牙正在关闭。          |
209| STATE_BLE_TURNING_ON  | 4    | 表示蓝牙正在打开LE-only模式。 |
210| STATE_BLE_ON          | 5    | 表示蓝牙正处于LE-only模式。  |
211| STATE_BLE_TURNING_OFF | 6    | 表示蓝牙正在关闭LE-only模式。 |
212
213