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.Core。 26 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.Core。 57 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.Core。 88 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<BluetoothState>): void 119 120订阅蓝牙设备开关状态事件。 121 122**需要权限**:ohos.permission.ACCESS_BLUETOOTH 123 124**系统能力**:SystemCapability.Communication.Bluetooth.Core。 125 126**参数:** 127 128| 参数名 | 类型 | 必填 | 说明 | 129| -------- | ------------------------------------------------- | ----- | ---------------------------------------------------------- | 130| type | string | 是 | 填写"stateChange"字符串,表示蓝牙状态改变事件。 | 131| callback | Callback<[BluetoothState](#bluetoothstate)> | 是 | 表示回调函数的入参,蓝牙状态。回调函数由用户创建通过该接口注册。 | 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<BluetoothState>): void 159 160取消订阅蓝牙设备开关状态事件。 161 162**需要权限**:ohos.permission.ACCESS_BLUETOOTH 163 164**系统能力**:SystemCapability.Communication.Bluetooth.Core。 165 166**参数:** 167 168| 参数名 | 类型 | 必填 | 说明 | 169| -------- | ---------------------------------------- | ---- | ---------------------------------------- | 170| type | string | 是 | 填写"stateChange"字符串,表示蓝牙状态改变事件。 | 171| callback | Callback<[BluetoothState](#bluetoothstate)> | 否 | 表示取消订阅蓝牙状态改变事件上报。不填该参数则取消订阅该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.Core。 202 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