# @ohos.bluetooth.access (Bluetooth Access Module) The **access** module provides APIs for enabling and disabling Bluetooth and obtaining the Bluetooth status. > **NOTE** > > The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version. ## Modules to Import ```js import access from '@ohos.bluetooth.access'; ``` ## access.enableBluetooth enableBluetooth(): void Enables Bluetooth. **Required permissions**: ohos.permission.ACCESS_BLUETOOTH **System capability**: SystemCapability.Communication.Bluetooth.Core **Error codes** For details about the error codes, see [Bluetooth Error Codes](../errorcodes/errorcode-bluetoothManager.md). | ID| Error Message | | -------- | ------------------ | |2900001 | Service stopped. | |2900099 | Operation failed. | **Example** ```js import { BusinessError } from '@ohos.base'; try { access.enableBluetooth(); } catch (err) { console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); } ``` ## access.disableBluetooth disableBluetooth(): void Disables Bluetooth. **Required permissions**: ohos.permission.ACCESS_BLUETOOTH **System capability**: SystemCapability.Communication.Bluetooth.Core **Error codes** For details about the error codes, see [Bluetooth Error Codes](../errorcodes/errorcode-bluetoothManager.md). |ID | Error Message | | -------- | ------------------ | |2900001 | Service stopped. | |2900099 | Operation failed. | **Example** ```js import { BusinessError } from '@ohos.base'; try { access.disableBluetooth(); } catch (err) { console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); } ``` ## access.getState getState(): BluetoothState Obtains the Bluetooth state. **Required permissions**: ohos.permission.ACCESS_BLUETOOTH **System capability**: SystemCapability.Communication.Bluetooth.Core **Return value** | Type | Description | | --------------------------------- | ---------------- | | [BluetoothState](#bluetoothstate) | Bluetooth state obtained.| **Error codes** For details about the error codes, see [Bluetooth Error Codes](../errorcodes/errorcode-bluetoothManager.md). |ID | Error Message | | -------- | ------------------ | |2900001 | Service stopped. | |2900099 | Operation failed. | **Example** ```js import { BusinessError } from '@ohos.base'; try { let state = access.getState(); } catch (err) { console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); } ``` ## access.factoryReset11+ factoryReset(callback: AsyncCallback<void>): void Restores the Bluetooth factory settings. **System API**: This is a system API. **Required permissions**: ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH **System capability**: SystemCapability.Communication.Bluetooth.Core **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------- | ----- | ---------------------------------------------------------- | | callback | AsyncCallback<void> | Yes | Callback invoked to return the result.
If the Bluetooth factory settings are restored successfully, **err** is **undefined**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Bluetooth Error Codes](../errorcodes/errorcode-bluetoothManager.md). |ID | Error Message | | -------- | ------------------ | |2900001 | Service stopped. | |2900099 | Operation failed. | **Example** ```js import { AsyncCallback, BusinessError } from '@ohos.base'; try { access.factoryReset((err: BusinessError) => { if (err) { console.error("factoryReset error"); } }); } catch (err) { console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); } ``` ## access.factoryReset11+ factoryReset(): Promise<void> Restores the Bluetooth factory settings. **System API**: This is a system API. **Required permissions**: ohos.permission.ACCESS_BLUETOOTH and ohos.permission.MANAGE_BLUETOOTH **System capability**: SystemCapability.Communication.Bluetooth.Core **Return value** | Type | Description | | --------------------------------- | ---------------- | | Promise<void> | Promise that returns no value.| **Error codes** For details about the error codes, see [Bluetooth Error Codes](../errorcodes/errorcode-bluetoothManager.md). |ID | Error Message | | -------- | ------------------ | |2900001 | Service stopped. | |2900099 | Operation failed. | **Example** ```js import { AsyncCallback, BusinessError } from '@ohos.base'; try { access.factoryReset().then(() => { console.info("factoryReset"); }); } catch (err) { console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); } ``` ## access.getLocalAddress11+ getLocalAddress(): string; Obtains the Bluetooth address of the local device. **System API**: This is a system API. **Required permissions**: ohos.permission.ACCESS_BLUETOOTH and ohos.permission.GET_BLUETOOTH_LOCAL_MAC **System capability**: SystemCapability.Communication.Bluetooth.Core **Return value** | Type | Description | | --------- | ------------------ | | string | Bluetooth address obtained.| **Error codes** For details about the error codes, see [Bluetooth Error Codes](../errorcodes/errorcode-bluetoothManager.md). |ID | Error Message | | -------- | ------------------ | |2900001 | Service stopped. | |2900099 | Operation failed. | **Example** ```js try { let localAddr = access.getLocalAddress(); } catch (err) { console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); } ``` ## access.on('stateChange') on(type: "stateChange", callback: Callback<BluetoothState>): void Subscribes to Bluetooth state changes. **Required permissions**: ohos.permission.ACCESS_BLUETOOTH **System capability**: SystemCapability.Communication.Bluetooth.Core **Parameters** | Name | Type | Mandatory | Description | | -------- | ------------------------------------------------- | ----- | ---------------------------------------------------------- | | type | string | Yes | Event type. The value is **stateChange**, which indicates a Bluetooth state change event. | | callback | Callback<[BluetoothState](#bluetoothstate)> | Yes | Callback invoked to return the Bluetooth state. You need to implement this callback.| **Error codes** For details about the error codes, see [Bluetooth Error Codes](../errorcodes/errorcode-bluetoothManager.md). |ID | Error Message | | -------- | ------------------ | |2900099 | Operation failed. | **Example** ```js import { BusinessError } from '@ohos.base'; function onReceiveEvent(data: access.BluetoothState) { console.info('bluetooth state = '+ JSON.stringify(data)); } try { access.on('stateChange', onReceiveEvent); } catch (err) { console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); } ``` ## access.off('stateChange') off(type: "stateChange", callback?: Callback<BluetoothState>): void Unsubscribes from Bluetooth state changes. **Required permissions**: ohos.permission.ACCESS_BLUETOOTH **System capability**: SystemCapability.Communication.Bluetooth.Core **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ---------------------------------------- | | type | string | Yes | Event type. The value is **stateChange**, which indicates a Bluetooth state change event. | | callback | Callback<[BluetoothState](#bluetoothstate)> | No | Callback for the Bluetooth state change event. If this parameter is not set, this API unsubscribes from all callbacks corresponding to **type**.| **Error codes** For details about the error codes, see [Bluetooth Error Codes](../errorcodes/errorcode-bluetoothManager.md). | ID| Error Message| | -------- | ---------------------------- | |2900099 | Operation failed. | **Example** ```js import { BusinessError } from '@ohos.base'; function onReceiveEvent(data: access.BluetoothState) { console.info('bluetooth state = '+ JSON.stringify(data)); } try { access.on('stateChange', onReceiveEvent); access.off('stateChange', onReceiveEvent); } catch (err) { console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message); } ``` ## BluetoothState Enumerates the Bluetooth states. **System capability**: SystemCapability.Communication.Bluetooth.Core | Name | Value | Description | | --------------------- | ---- | ------------------ | | STATE_OFF | 0 | Bluetooth is turned off. | | STATE_TURNING_ON | 1 | Bluetooth is being turned on. | | STATE_ON | 2 | Bluetooth is turned on. | | STATE_TURNING_OFF | 3 | Bluetooth is being turned off. | | STATE_BLE_TURNING_ON | 4 | The LE-only mode is being turned on for Bluetooth.| | STATE_BLE_ON | 5 | Bluetooth is in LE-only mode. | | STATE_BLE_TURNING_OFF | 6 | The LE-only mode is being turned off for Bluetooth.|