I have an issue with BLE on Android when using low duty-cycle directed advertising and I'm asking here hoping some people have already seen that issue or something similar.
I have one Peripheral with a nRF52832 (with SoftDevice S132 v6.1) and an Android device acting as the BLE Central. When no device is bonded, the Peripheral performs standard connectable undirected advertising (100 ms interval). After pairing with an Android device, the Peripheral then starts Directed Advertising towards the Android device with the same interval. I have tried several smartphones as Central and I have observed several different behaviors:
- On a Xiaomi Redmi 6A: everything works as expected ; after pairing with the nRF52832, we can see our nRF52832 and connect to it and perform all communications as expected
- On a Motorola E5 Play Go and Nokia 2.1: after the pairing, as soon as the smartphone receives a directed advertising during scanning, it seems to mess up Bluetooth at the operating system level and it becomes impossible to detect any Bluetooth device anymore until we unpair our Peripheral and restart the smartphone.
- On a OnePlus 6: after pairing, we can still scan for Bluetooth devices but we don't see our paired Peripheral.
Note: In all cases, I have confirmed that the nRF52832 is indeed performing directed advertising as expected by using a BLE sniffer.