Bluetooth Setting Development

Introduction

This topic walks you through on how to implement basic Bluetooth settings, including enabling and disabling Bluetooth and obtaining Bluetooth status.

When to Use

You can use the APIs provided by the access module to enable and disable Bluetooth.

Available APIs

For details about the APIs and sample code, see @ohos.bluetooth.access.

The following table describes the related APIs.

API Description
enableBluetooth() Enables Bluetooth.
disableBluetooth() Disables Bluetooth.
getState() Obtains the Bluetooth state.
on(type: 'stateChange') Subscribes to Bluetooth state changes.
off(type: 'stateChange') Unsubscribes from Bluetooth state changes.

How to Develop

Enabling and Disabling Bluetooth

  1. Import the access module.
  2. Check that the SystemCapability.Communication.Bluetooth.Core capability is available.
  3. Enable Bluetooth.
  4. Disable Bluetooth.

Example:

import access from '@ohos.bluetooth.access';
import { BusinessError } from '@ohos.base';

// Enable Bluetooth.
access.enableBluetooth();
access.on('stateChange', (data) => {
  let btStateMessage = '';
  switch (data) {
    case 0:
      btStateMessage += 'STATE_OFF';
      break;
    case 1:
      btStateMessage += 'STATE_TURNING_ON';
      break;
    case 2:
      btStateMessage += 'STATE_ON';
      break;
    case 3:
      btStateMessage += 'STATE_TURNING_OFF';
      break;
    case 4:
      btStateMessage += 'STATE_BLE_TURNING_ON';
      break;
    case 5:
      btStateMessage += 'STATE_BLE_ON';
      break;
    case 6:
      btStateMessage += 'STATE_BLE_TURNING_OFF';
      break;
    default:
      btStateMessage += 'unknown status';
      break;
  }
  if (btStateMessage == 'STATE_ON') {
    access.off('stateChange');
  }
  console.info('bluetooth statues: ' + btStateMessage);
})

// Disable Bluetooth.
access.disableBluetooth();
access.on('stateChange', (data) => {
  let btStateMessage = '';
  switch (data) {
    case 0:
      btStateMessage += 'STATE_OFF';
      break;
    case 1:
      btStateMessage += 'STATE_TURNING_ON';
      break;
    case 2:
      btStateMessage += 'STATE_ON';
      break;
    case 3:
      btStateMessage += 'STATE_TURNING_OFF';
      break;
    case 4:
      btStateMessage += 'STATE_BLE_TURNING_ON';
      break;
    case 5:
      btStateMessage += 'STATE_BLE_ON';
      break;
    case 6:
      btStateMessage += 'STATE_BLE_TURNING_OFF';
      break;
    default:
      btStateMessage += 'unknown status';
      break;
  }
  if (btStateMessage == 'STATE_OFF') {
    access.off('stateChange');
  }
  console.info("bluetooth statues: " + btStateMessage);
})

For details about the error codes, see Bluetooth Error Codes.

Verification

  1. Execute the code for enabling Bluetooth.
    If "bluetooth statues: STATE_ON" is logged, Bluetooth is enabled.
  2. Execute the code for disabling Bluetooth.
    If "bluetooth statues: STATE_OFF" is logged, Bluetooth is disabled.