Skip to main content
Use this API to listen for changes in the Bluetooth adapter state, such as when Bluetooth is turned on or off.

Parameters

PropertyTypeRequiredDescription
callbackFunctionYesCallback when adapter state changes

Callback Parameters

PropertyTypeDescription
availableBooleanWhether Bluetooth is available
discoveringBooleanWhether currently discovering devices

Code Example

Basic Usage

my.onBluetoothAdapterStateChange((res) => {
  console.log('Bluetooth available:', res.available);
  console.log('Discovering:', res.discovering);
});

Handle Bluetooth Toggle

Page({
  onLoad() {
    my.onBluetoothAdapterStateChange(this.handleStateChange);
    my.openBluetoothAdapter();
  },

  handleStateChange(res) {
    if (!res.available) {
      my.alert({
        title: 'Bluetooth Disabled',
        content: 'Please enable Bluetooth to continue using this feature.'
      });
      this.setData({ bluetoothEnabled: false });
    } else {
      this.setData({ bluetoothEnabled: true });
    }
  },

  onUnload() {
    my.offBluetoothAdapterStateChange(this.handleStateChange);
    my.closeBluetoothAdapter();
  }
});

Auto-Resume Discovery

Page({
  data: {
    shouldBeDiscovering: false
  },

  onLoad() {
    my.onBluetoothAdapterStateChange((res) => {
      if (res.available && this.data.shouldBeDiscovering && !res.discovering) {
        // Bluetooth came back, resume discovery
        my.startBluetoothDevicesDiscovery();
      }
    });
  },

  startScan() {
    this.setData({ shouldBeDiscovering: true });
    my.startBluetoothDevicesDiscovery();
  }
});

my.offBluetoothAdapterStateChange

Stop listening

my.getBluetoothAdapterState

Get current state