Я пытаюсь сканировать устройства с помощью BloothLeScanner.startScan (), но не могу найти - PullRequest
0 голосов
/ 20 февраля 2019

Это ошибка, которую я получаю:

Attempt to invoke virtual method 'void android.bluetooth.le.BluetoothLeScanner.startScan(android.bluetooth.le.ScanCallback)' on a null object reference

Я попытался добавить разрешения coarse_location как в манифесте, так и во время выполнения, но это не сработало, а также включило местоположение.Может ли кто-нибудь помочь мне в этом.

Я использую это для сканирования устройств с низким энергопотреблением.

mBluetoothLeScanner.startScan(mLeScanCallback);

Это мой отклик.

final ScanCallback mLeScanCallback = new ScanCallback() {
            @Override
            public void onScanResult(int callbackType, ScanResult result) {
                final int new_rssi = result.getRssi();
                addDevice(result, new_rssi);
                super.onScanResult(callbackType, result);
            }

1 Ответ

0 голосов
/ 22 февраля 2019

2 возможности приходят мне на ум:

  1. Bluetooth отключен - это может привести к NPE при попытке запустить сканирование BLE
  2. Проверьте, включено ли ваше местоположение.Перейдите в Настройки> Местоположение.BLE требует, чтобы местоположение устройства работало, если вы запустите сканирование BLE, когда Местоположение отключено, вы не получите никаких результатов
...