Does anyone know how Android handles the service changed indication sent by peer device?
I found out even if the Android app has subscribed the Service Changed Characteristic
in Generic GATT service
, the onCharacteristicChanged
callback will not be invoked.
It seems like Android BT stack will invalidate all the subscribed GATT services hosted by peer and do the service discovery internally and silently. After that, mobile app will not be able to receive any notification from existing GATT services hosted by tracker.
Have anyone experienced this issue? How can the App do the re-subscription/recovery if we don't receive the onCharacteristicChanged callback?