• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.bluetooth.access (蓝牙access模块)(系统接口)
2
3<!--Kit: Connectivity Kit-->
4<!--Subsystem: Communication-->
5<!--Owner: @enjoy_sunshine-->
6<!--Designer: @chengguohong; @tangjia15-->
7<!--Tester: @wangfeng517-->
8<!--Adviser: @zhang_yixin13-->
9
10access模块提供了打开蓝牙、关闭蓝牙和获取蓝牙状态的方法。
11
12> **说明:**
13>
14> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
15> 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.bluetooth.access (蓝牙access模块)](js-apis-bluetooth-access.md)。
16
17
18## 导入模块
19
20```js
21import { access } from '@kit.ConnectivityKit';
22```
23
24
25## access.factoryReset<sup>11+</sup>
26
27factoryReset(callback: AsyncCallback&lt;void&gt;): void
28
29恢复蓝牙出厂设置。使用Callback异步回调。
30
31**系统接口**:此接口为系统接口。
32
33**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
34
35**系统能力**:SystemCapability.Communication.Bluetooth.Core
36
37**参数:**
38
39| 参数名   | 类型                                               | 必填  | 说明                                                       |
40| -------- | ------------------------------------------------- | ----- | ---------------------------------------------------------- |
41| callback     | AsyncCallback&lt;void&gt;             | 是    | 回调函数。当恢复蓝牙出厂设置时成功,err为undefined,否则为错误对象。       |
42
43**错误码**:
44
45以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
46
47|错误码ID   | 错误信息           |
48| -------- | ------------------ |
49|201 | Permission denied.                 |
50|202 | Non-system applications are not allowed to use system APIs. |
51|401 | Invalid parameter. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types.           |
52|801 | Capability not supported.          |
53|2900001   | Service stopped.   |
54|2900099   | Operation failed.  |
55
56**示例:**
57
58```js
59import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit';
60try {
61    access.factoryReset((err: BusinessError) => {
62        if (err) {
63            console.error("factoryReset error");
64        }
65    });
66} catch (err) {
67    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
68}
69```
70
71
72## access.factoryReset<sup>11+</sup>
73
74factoryReset(): Promise&lt;void&gt;
75
76恢复蓝牙出厂设置。使用Promise异步回调。
77
78**系统接口**:此接口为系统接口。
79
80**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
81
82**系统能力**:SystemCapability.Communication.Bluetooth.Core
83
84**返回值:**
85
86| 类型                              | 说明              |
87| --------------------------------- | ---------------- |
88| Promise&lt;void&gt; | Promise对象。无返回结果的Promise对象。 |
89
90**错误码**:
91
92以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
93
94|错误码ID   | 错误信息           |
95| -------- | ------------------ |
96|201 | Permission denied.                 |
97|202 | Non-system applications are not allowed to use system APIs. |
98|801 | Capability not supported.          |
99|2900001   | Service stopped.   |
100|2900099   | Operation failed.  |
101
102**示例:**
103
104```js
105import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit';
106try {
107    access.factoryReset().then(() => {
108        console.info("factoryReset");
109    });
110} catch (err) {
111    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
112}
113```
114
115
116## access.getLocalAddress<sup>11+</sup><a name="getLocalAddress"></a>
117
118getLocalAddress(): string
119
120获取本端设备的蓝牙地址。
121
122**系统接口**:此接口为系统接口。
123
124**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.GET_BLUETOOTH_LOCAL_MAC
125
126**系统能力**:SystemCapability.Communication.Bluetooth.Core
127
128**返回值:**
129
130| 类型      | 说明                |
131| --------- | ------------------ |
132| string    | 本端设备的蓝牙地址。 |
133
134**错误码**:
135
136以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
137
138|错误码ID   | 错误信息           |
139| -------- | ------------------ |
140|201 | Permission denied.                 |
141|202 | Non-system applications are not allowed to use system APIs. |
142|801 | Capability not supported.          |
143|2900001   | Service stopped.   |
144|2900099   | Operation failed.  |
145
146**示例:**
147
148```js
149import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit';
150try {
151    let localAddr = access.getLocalAddress();
152} catch (err) {
153    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
154}
155```
156
157
158## access.restrictBluetooth<sup>12+</sup><a name="restrictBluetooth"></a>
159
160restrictBluetooth(): Promise&lt;void&gt;
161
162约束当前蓝牙设备的BR/EDR能力。
163
164**系统接口**:此接口为系统接口。
165
166**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
167
168**系统能力**:SystemCapability.Communication.Bluetooth.Core
169
170**返回值:**
171
172| 类型                              | 说明              |
173| --------------------------------- | ---------------- |
174| Promise&lt;void&gt; | Promise对象。无返回结果的Promise对象。 |
175
176**错误码**:
177
178以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
179
180|错误码ID   | 错误信息           |
181| -------- | ------------------ |
182|201 | Permission denied.                 |
183|202 | Non-system applications are not allowed to use system APIs. |
184|801 | Capability not supported.          |
185|2900001   | Service stopped.   |
186|2900099   | Operation failed.  |
187
188**示例:**
189
190```js
191import { AsyncCallback, BusinessError } from '@kit.BasicServicesKit';
192try {
193    access.restrictBluetooth().then(() => {
194        console.info("restrictBluetooth");
195    });
196} catch (err) {
197    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
198}
199```
200
201
202## access.notifyDialogResult<sup>20+</sup>
203
204notifyDialogResult(notifyDialogResultParams: NotifyDialogResultParams): Promise&lt;void&gt;
205
206通知用户操作蓝牙对话框的行为。使用Promise异步回调。
207- 与API version 20开始支持的[access.enableBluetoothAsync](js-apis-bluetooth-access.md#accessenablebluetoothasync20)搭配使用,应用申请开启蓝牙,调用该接口会将用户操作开关蓝牙对话框的行为通知给蓝牙服务。
208- 与API version 20开始支持的[access.disableBluetoothAsync](js-apis-bluetooth-access.md#accessdisablebluetoothasync20)搭配使用,应用申请关闭蓝牙,调用该接口会将用户操作开关蓝牙对话框的行为通知给蓝牙服务。
209
210**系统接口**:此接口为系统接口。
211
212**需要权限**:ohos.permission.ACCESS_BLUETOOTHohos.permission.MANAGE_BLUETOOTH
213
214**系统能力**:SystemCapability.Communication.Bluetooth.Core
215
216**参数:**
217
218| 参数名   | 类型                                               | 必填  | 说明                                                       |
219| -------- | ------------------------------------------------- | ----- | ---------------------------------------------------------- |
220|  notifyDialogResultParams   | [NotifyDialogResultParams](#notifydialogresultparams20)             | 是    | 用户操作对话框的行为。       |
221
222**返回值:**
223
224| 类型                | 说明                                   |
225| ------------------- | -------------------------------------- |
226| Promise&lt;void&gt; | Promise对象,无返回结果。 |
227
228**错误码**:
229
230以下错误码的详细介绍请参见[通用错误码说明文档](../errorcode-universal.md)和[蓝牙服务子系统错误码](errorcode-bluetoothManager.md)。
231
232| 错误码ID | 错误信息                                                    |
233| -------- | ----------------------------------------------------------- |
234| 201      | Permission denied.                                          |
235| 202      | Non-system applications are not allowed to use system APIs. |
236| 801      | Capability not supported.                                   |
237| 2900001  | Service stopped.                                            |
238| 2900099  | Operation failed.                                           |
239
240**示例:**
241
242```js
243import { BusinessError } from '@kit.BasicServicesKit';
244try {
245    let notifyDialogResultParams: access.NotifyDialogResultParams = {
246        "dialogType": 0,
247        "dialogResult": true,
248    };
249    access.notifyDialogResult(notifyDialogResultParams);
250} catch (err) {
251    console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
252}
253```
254
255
256## NotifyDialogResultParams<sup>20+</sup>
257
258用户操作对话框的行为。
259
260**系统接口**:此接口为系统接口。
261
262**系统能力**:SystemCapability.Communication.Bluetooth.Core
263
264| 名称        | 类型                    | 只读   | 可选   | 说明                                     |
265| ------------------- | ----------------------- | ---- | ---- | -------------------------------------- |
266|   dialogType     | [DialogType](#dialogtype20)      | 否    | 否    | 表示对话框的类型。 |
267|   dialogResult     | boolean      | 否    | 否    | 表示用户操作对话框的行为。true表示用户同意该操作,false表示拒绝该操作。 |
268
269
270## DialogType<sup>20+</sup>
271
272枚举,对话框类型。
273
274**系统接口**:此接口为系统接口。
275
276**系统能力**:SystemCapability.Communication.Bluetooth.Core
277
278| 名称                    | 值  | 说明                 |
279| --------------------- | ---- | ------------------ |
280| BLUETOOTH_SWITCH      | 0    | 蓝牙开关对话框。          |