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