Connecting the bean – The bumpy road of BLE on Android
summary
Built an unofficial SDK for the LightBlue Bean and documents concrete Android BLE pitfalls: KitKat’s startLeScan can silently fail and returns a cryptic boolean, scan callbacks are inconsistent across devices, and Lollipop fixes add filtering, batching and low‑power modes but require hardware support (Nexus 5 lacks low‑power). Connection quirks include an unreliable autoconnect flag, pairing triggered only on read, write operations must wait for callbacks, 20‑byte MTU packet assembly, and hard limits of 4 connections on KitKat / 7 on Jelly Bean / 15 on Lollipop.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:54BLE basics on Android
- 3:20Scanning for BLE devices
- 8:21Lollipop BLE improvements
- 10:06Connecting to BLE device
- 12:14Discovering services
- 14:17Reading and writing characteristics
- 16:03Setting up notifications
- 18:16Writing data and packets
- 19:42Conclusions and learning resources
related talks
35mState of BLE on Android in 2022
46mBluetooth Low Energy on Android: Top Tips for the Tricky Bits
34mA journey in Android's BLE world
38mBest Practices for Bluetooth Development
38mBluetooth LE for Modern Android Development
40mState of Bluetooth LE on Android in 2023
41mEVERYTHING IS BETTER WITH(OUT) BLUETOOTH
34mBluetooth Low Energy in Android: Getting it Done
