Bluetooth LE (BLE) Scanning Bug & Issue with Android (Nov 2021)

I am trying to scan for Bluetooth LE devices in Android with Java. Everything worked fine and I released an update and on fresh installs it does not work. I went through every weird and funcky permission related to BLE on Android inclusive of ACCESS_FINE_LOCATION permissions.

Deeply reviewed the following:

I can’t see what I’m doing wrong:

  • My app works on older versions of Android, with a fresh install, on an S7 with Android 8.0.
  • does not work on Samsung S9 and S10+ running Android 9.0 and 11.0, respectively.
  • Location permissions is enabled. I can see this programmatically and via settings. Picture below Screenshot of Location enabled on non-scanning S9 with Android 9.0

I can reproduce the same issue with this independent code base

I thought I was crazy but the above code base is does the same thing for Android 10 and has all the same permissions my app has. with the same problematic results. I’m guessing this is happening for others.

28sec video of issue:

What am I not seeing? What changed?

  • Hi

    We here at Nordic are not generally Android experts, as we generally focus on the nRF series devices. I can't see that you're using the Android BLE library created by our Android developers either, so what we here at Nordic can do to help is limited I'm afraid. I personally have not seen this issue in newer Android devices.

    If you'd like I can leave the case open so the community might respond with experience, but I would think the Android forum would be better for this issue.

    Best regards,