Когда я инициализирую сканирование BLE, я могу успешно видеть все устройства, когда использую следующий код (на переднем плане, с Nokia 1 под управлением Android 8.1.0):
ScanSettings settings = (new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_POWER)).build();
List<ScanFilter> filters = new ArrayList<>();
ScanFilter filter = new ScanFilter.Builder().build();
filters.add(filter);
BluetoothManager bluetoothManager =
(BluetoothManager) getApplicationContext().getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();
Intent intent = new Intent(getApplicationContext(), PendingIntentScanReceiver.class);
intent.putExtra("o-scan", true);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(),
0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
bluetoothAdapter.getBluetoothLeScanner().startScan(filters, settings, pendingIntent);
Но как только я изменю список фильтров (например, строки 2 - 4) следующим образом:
ScanFilter filter = new ScanFilter.Builder()
.setDeviceAddress("54:6C:0E:20:E6:1B")
// or instead of setDeviceAddress trying this:
.setServiceUuid(ParcelUuid.fromString("0000a1b0-0000-1000-8000-00805f9b34fb"))
.build();
filters.add(filter);
Я больше не могу видеть что-либо . Есть мысли о том, что здесь может происходить?