Проблема сканирования Android BLE - PullRequest
0 голосов
/ 26 июня 2019

Мой код использовал сканирование маяка 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);
    }

Результат равен нулю

...