BLE ScanFilter для адреса устройства не работает на Android 9 (Google Pixel XL) - PullRequest
0 голосов
/ 12 февраля 2019

Мы фильтруем наше сканирование BLE по ряду MAC-адресов по

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);

. При запуске этого на устройствах Android 7 и 8 все работает нормально, но при запуске на Google Pixel XL с версией Android9 это не дает никаких результатов вообще.Если я уберу фильтрацию, я получу результаты на этом телефоне.Кто-нибудь знает, как решить эту проблему, или некоторые телефоны просто не поддерживают определенные типы фильтрации?

РЕДАКТИРОВАТЬ Чтобы было ясно, мы сканируем на переднем плане с включенным экраном!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...