# BluetoothDevicePicker

Canonical page: https://docs.ovok.com/native-sdk/guide/components/bt-management/bluetooth-device-picker

`BluetoothDevicePicker` is a theme-aware modal for presenting multiple `BTDeviceSelection` candidates. It is a view only: your callback decides how a choice affects the Bluetooth session.

Import it from `@ovok/native/bt-management`.

## Connect it to auto-connect [#connect-it-to-auto-connect]

When `BTProvider` has `autoConnect` enabled and more than one candidate is found during the settle window, it calls `onDeviceSelectionRequired`. Keep the supplied candidates and `select` callback in screen state, then pass them to the picker.

~~~tsx
<BluetoothDevicePicker
  devices={selection.devices}
  visible={selection !== undefined}
  onSelect={(device) => {
    void selection.select(device);
    setSelection(undefined);
  }}
  onDismiss={() => setSelection(undefined)}
/>
~~~

Call the selection object's `select(device)` function. The picker calls your `onSelect`; it does not connect by itself.

## Props [#props]

Every prop, with its type and description, is listed in the [`@ovok/native/bt-management` API reference](/native-sdk/reference/bt-management).
