State of BLE on Android in 2022
summary
Bluetooth Low Energy on Android works but has concrete caveats: target min SDK 26, use the companion device manager and companion device service for discovery, pairing and background access, and set auto-connect true when connecting. Never pass BluetoothGattCharacteristic objects between threads, always queue GATT operations and wait for callbacks, and prefer API methods added in API 33 fixes race condition (callbacks supply byte[]). Bonding saves keys; removing bond requires hidden API via reflection. Emulators still lack reliable BLE support.
AI-written summary · about
chapters (12)
- 0:00Introduction and BLE basics
- 5:59Android BLE API history
- 9:06Companion device manager benefits
- 12:38Pairing vs bonding explained
- 15:22Companion device service
- 16:27GATT architecture and operations
- 23:50Race conditions in GATT
- 26:35Queuing GATT operations
- 26:58Handling notifications
- 28:21PHY options for BLE 5
- 30:26Common pitfalls summary
- 31:30Q&A session
related talks
40mState of Bluetooth LE on Android in 2023
38mBluetooth LE for Modern Android Development
46mBluetooth Low Energy on Android: Top Tips for the Tricky Bits
38mBest Practices for Bluetooth Development
21mConnecting the bean – The bumpy road of BLE on Android
34mBluetooth Low Energy in Android: Getting it Done
34mA journey in Android's BLE world
19mWhat's all that hype about BLE?
