Мой код использовал сканирование маяка BLE. Недавно я обнаружил, что есть проблема. Из-за логики мой BluetoothLeScanner будет перезапущен через 5 минут. Сначала остановите сканирование с обратным вызовом, а затем перезапустите сканирование с обратным вызовом, таким образом, иногда он ничего не может сканировать. Я не совсем уверен, почему это произошло. Похоже, проблема возникла при перезапуске сканера.
Начать поиск:
final BluetoothLeScannerCompat scanner = BluetoothLeScannerCompat.getScanner();
final ScanSettings settings = new ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
.setUseHardwareFilteringIfSupported(true)
.setUseHardwareBatchingIfSupported(false)
.setReportDelay(500)
.build();
Остановить поиск:
BluetoothLeScannerCompat scanner = BluetoothLeScannerCompat.getScanner();
scanner.stopScan(mScanCallback);
В обратном вызове сканирования:
@Override
public void onBatchScanResults(List<ScanResult> results) {
```
```
Timber.w("Scan result>>" + results);
}
Результат равен нулю