我正在尝试使用BloothLeScanner.startScan()扫描设备,但找不到任何

时间:2019-02-20 13:54:19

标签: android bluetooth bluetooth-lowenergy

这是我得到的错误:

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

我尝试在清单文件中和在运行时添加粗糙的位置权限,但是它不起作用,并且也打开了位置。有人可以帮我吗?

我用它来扫描低能耗设备。

mBluetoothLeScanner.startScan(mLeScanCallback);

这是我的scancallback。

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 :(得分:0)

我想到2种可能性:

  1. 蓝牙已禁用-尝试启动BLE扫描时会导致NPE
  2. 检查您的位置信息是否已启用。转到设置>位置。 BLE要求设备的位置正常工作,如果在禁用“位置”后启动BLE扫描,则不会收到任何结果