androidbluetooth-lowenergygattcharacteristics

Android Bluetooth not discovering the characteristic after changing UUID


I am using Android 5.0.1 Lollipop and developing Bluetooth Low Energy server-client communication. I have Samsung Galaxy s4. I have three characteristic in my Custom Service. I made one of the characteristic's property as write-only and encrypted write. Then I changed it to non-encrypted write. The write operation didnt work for this characteristic anymore. I knew I have to restart Bluetooth adapter from settings and unpair the device but it doesn't work anymore at all. Then I changed the UUID of the characteristic. It discovers the characteristic with the old UUID. I dont get it. How can I remove all Bluetooth data related to one particular device from the Bluetooth adapter?

Edit: I doubled checked it with and iPhone device. iPhone discovers the characteristic with the new UUID while Android discovers it the old one.


Solution

  • Ok, After more research on settings (Samsung s4 Lollipop 5.01), I found out a way of clearing the Bluetooth cache: Settings -> More -> Application Manager -> All -> Bluetooth -> Clear Cache

    If you want to do it programmatically follow this thread: How to programmatically force bluetooth low energy service discovery on Android without using cache