Search code examples
bluetooth-lowenergyandroid-blerxandroidble

Application is not able to capture each and every scan responses from the ble device


I am developing a BLE android application where I have used RxAndroidBLe for BLE communication.

Everything working fine except one issue that the application is not receiving every scan response broadcasted by the BLE device (I am not sure whether it is an issue or not). The BLE device is set to broadcast it in every 1 second. It broadcasts the scan response on all the three channels 37,38,39 in round robin fashion. The application is intend to scan continuously until the application gets closed. But I observed that the application is not receiving all the scan response. Means it is not receiving scan response from the devices in every 1 second. Sometimes there is a gap of 2,3 seconds or more. I want to know is there any solution to overcome this issue or this is a valid behavior?

Any suggestion would be appreciated. Thanks in advance.


Solution

  • Due to nature of BLE scanning it is not certain that you will receive each scan response broadcast. At basic, it depend mostly on scan interval and scan window parameters (host side) and the interval you are broadcasting responses.

    You can try low latency scan mode to improve your results.