Open burnhamd opened 2 years ago
Can you try the same thing using lightblue on Android(as you did for ios)? this rules out any reason it could be an android thing.
I would also suggest, after you request 'notify characteristic', can you then perform a single read after this, then wait to see if it updates?
For some reason light blue is crashing on this device on startup. Will see if I can fix that and test.
If I do a read after notify, then I get no read result either.
Just confirmed that when I subscribe using the light blue app the notifications are received from the peripheral.
I think the issue is here:
it.characteristic.descriptors.forEach { descriptor -> descriptor.value = descriptorValue gatt.writeDescriptor(descriptor) }
Here it is iterating through all descriptors and attempting to write an enable notification to it. But I have additional descriptor. Instead I think it should just set the notify descriptor "00002902-0000-1000-8000-00805f9b34fb"
Hello you all! Any updates on this?
I'm having the exact same issue. Works on iOS, but on Android it doesn't. It does works sometimes, but most of times it doesn't. onCharacteristicChanged is not being called.
Any ideas?
Thanks in advance.
I havent had chance to look into it. I also don't have the exact devices and setup to reproduce so it would be difficult for me. I am happy for anyone to produce a solution in a PR and i can review it.
Describe the bug When calling the notifyCharacteristic, the onCharacteristicChanged never firing. I am getting a value for the read. And I have checked that the device indeed does support notifications using the LightBlue Application on IOS.
To Reproduce Steps to reproduce the behavior:
char = service.characteristics.first { it.name == TESS5600_DATA_CHAR.lowercase() } bluetoothService.characteristicDelegate = this bluetoothService.notifyCharacteristic(bluetoothPeripheral, char!!, true)
Expected behavior Expecting the onCharacteristicChanged to fire
Smartphone