Using react-native-ble-manager package -- when performing BleManager.scan(), I am not getting back a peripheral uuid or id on Android 12. I am correctly passing through params of (serviceUuid, scan seconds, boolean). I am getting back a peripheral uuid on iOS but not on Android. I have made sure all of my required permissions are included in my AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" android:usesPermissionFlags="neverForLocation" tools:targetApi="s" />
Below is the response I get back from the device (with sensitive data removed for obvious reasons), as you can see, it's missing the peripheral uuid and and device name.
{"advertising":{"serviceData":{},"serviceUUIDs":["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX"],"localName":"XXXXXXXXXXX","txPowerLevel":-21,"isConnectable":true,"manufacturerData":{"bytes":[BTYES-ARRAY","CDVType":"ArrayBuffer"}}}
I am on React Native version 0.64.2
At some point, I was able to get the peripheral id on Android 12 but now its not working anymore.
Does anyone know what might be causing this?
-Tried upgrading to latest version of react-native-ble-manager
Have you checkout its example? If it works, maybe you could start modify the example code according to your very own requirements.