public class BluetoothClassic

  1. Object
  2. BluetoothClassic

The classic Bluetooth (BR/EDR) role: device discovery, bonding and RFCOMM stream connections. Obtain via Bluetooth.getInstance().getClassic(); the instance is owned by the active port and never null.

Classic Bluetooth is available on Android, the JavaSE simulator and desktop targets. iOS does not expose it to applications – branch via Bluetooth.getInstance().isClassicSupported(); on unsupported ports every operation fails fast with BluetoothError.NOT_SUPPORTED.

Constructors

protected BluetoothClassic()Ports construct subclasses.

Methods

public ClassicDiscovery startDiscovery(ClassicDiscoveryListener listener)Starts an inquiry scan (~12 seconds); the listener fires on the EDT per sighting.
public List<BluetoothDevice> getBondedDevices()The classic devices bonded with this adapter.
public AsyncResource<Boolean> createBond(BluetoothDevice device)Initiates bonding with the given device, prompting the user where the platform requires it.
public AsyncResource<Boolean> requestDiscoverable(int durationSeconds)Asks the user to make this device discoverable for the given duration (the Android system dialog).
public AsyncResource<RfcommConnection> connect(BluetoothDevice device, BluetoothUuid serviceUuid, boolean secure)Opens an RFCOMM connection to the given device’s service – BluetoothUuid.SPP for classic serial-port devices.
public AsyncResource<RfcommConnection> connect(String address, BluetoothUuid serviceUuid, boolean secure)Opens an RFCOMM connection to the device with the given address (persisted earlier) without a prior discovery.
public AsyncResource<RfcommServer> listen(String serviceName, BluetoothUuid serviceUuid, boolean secure)Registers a listening RFCOMM endpoint (SPP server) under the given name and service UUID with the local SDP database.

Inherited methods

Constructor details

BluetoothClassic

protected BluetoothClassic()
Ports construct subclasses. Application code obtains the active instance via Bluetooth.getInstance().getClassic().

Method details

startDiscovery

public ClassicDiscovery startDiscovery(ClassicDiscoveryListener listener)
Starts an inquiry scan (~12 seconds); the listener fires on the EDT per sighting. Returns a live ClassicDiscovery handle that resolves when the inquiry ends. On ports without classic Bluetooth the handle is already failed with BluetoothError.NOT_SUPPORTED.

getBondedDevices

public List<BluetoothDevice> getBondedDevices()
The classic devices bonded with this adapter. Empty on ports without classic Bluetooth.

createBond

public AsyncResource<Boolean> createBond(BluetoothDevice device)
Initiates bonding with the given device, prompting the user where the platform requires it. Resolves true once bonded.

requestDiscoverable

public AsyncResource<Boolean> requestDiscoverable(int durationSeconds)
Asks the user to make this device discoverable for the given duration (the Android system dialog). Resolves true when granted; false when declined or unsupported.

connect

public AsyncResource<RfcommConnection> connect(BluetoothDevice device, BluetoothUuid serviceUuid, boolean secure)
Opens an RFCOMM connection to the given device’s service – BluetoothUuid.SPP for classic serial-port devices. secure requests an authenticated, encrypted link (pairing if needed).

connect

public AsyncResource<RfcommConnection> connect(String address, BluetoothUuid serviceUuid, boolean secure)
Opens an RFCOMM connection to the device with the given address (persisted earlier) without a prior discovery.

listen

public AsyncResource<RfcommServer> listen(String serviceName, BluetoothUuid serviceUuid, boolean secure)
Registers a listening RFCOMM endpoint (SPP server) under the given name and service UUID with the local SDP database. Resolves with the RfcommServer; call RfcommServer.accept() to take clients.