Item#1: Discover services on the main thread
There are nuances in Android's BLE implementation, and many developers have reported quirks and inconsistencies across different Android versions and device manufacturers. One such quirk pertains to the thread on which you interact with the BluetoothGatt
object, especially with discoverServices()
.