We are filtering our BLE scan on a number of MAC addresses by

List<ScanFilter> filters = new ArrayList<ScanFilter>();
for(String addr : mBleAddrs) {

                if(BluetoothAdapter.checkBluetoothAddress(addr)) {
                    Log.d(TAG, "VALID addr: " + addr);
                    ScanFilter deviceFilter = new ScanFilter.Builder()
                            .setDeviceAddress(addr)
                            .build();
                    filters.add(deviceFilter);
                } else {
                    Log.d(TAG, "INVALID addr: " + addr);
                }
}
mBluetoothLeScanner.startScan(filters, settingsBuilder.build(), mScanCallback);

When running this on Android 7 and 8 devices it all works fine but when running it on a Google Pixel XL with Android Version 9 it does not yield any results at all. If I remove the filtering I get results on that phone. Anyone knows how to solve this or does some phones simply not support certain types of filtering?

Related posts

Recent Viewed