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<void>): void 28 29恢复蓝牙出厂设置。使用Callback异步回调。 30 31**系统接口**:此接口为系统接口。 32 33**需要权限**:ohos.permission.ACCESS_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 34 35**系统能力**:SystemCapability.Communication.Bluetooth.Core 36 37**参数:** 38 39| 参数名 | 类型 | 必填 | 说明 | 40| -------- | ------------------------------------------------- | ----- | ---------------------------------------------------------- | 41| callback | AsyncCallback<void> | 是 | 回调函数。当恢复蓝牙出厂设置时成功,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<void> 75 76恢复蓝牙出厂设置。使用Promise异步回调。 77 78**系统接口**:此接口为系统接口。 79 80**需要权限**:ohos.permission.ACCESS_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 81 82**系统能力**:SystemCapability.Communication.Bluetooth.Core 83 84**返回值:** 85 86| 类型 | 说明 | 87| --------------------------------- | ---------------- | 88| Promise<void> | 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_BLUETOOTH 和 ohos.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<void> 161 162约束当前蓝牙设备的BR/EDR能力。 163 164**系统接口**:此接口为系统接口。 165 166**需要权限**:ohos.permission.ACCESS_BLUETOOTH 和 ohos.permission.MANAGE_BLUETOOTH 167 168**系统能力**:SystemCapability.Communication.Bluetooth.Core 169 170**返回值:** 171 172| 类型 | 说明 | 173| --------------------------------- | ---------------- | 174| Promise<void> | 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<void> 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_BLUETOOTH 和 ohos.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<void> | 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 | 蓝牙开关对话框。 |