Bluetooth Low Energy StartScan auf Android 6.0 findet keine Geräte



Answers

Wie @Jacopo Tosi sagen, müssen Sie nach Standortberechtigungen fragen. Sie können here lesen here wie es geht. Außerdem müssen Sie den Standort aktivieren. Ich weiß nicht, warum das passiert ist. aber es ist der einzige Weg, wie ich es geschafft habe.

Question

Ich entwickle eine Anwendung mit Bluetooth Low Energy mit Nexus 5. Es funktionierte auf Lollipop und jetzt funktioniert es nicht auf Marshmallow. Ich habe die Berechtigungen ACCESS_COARSE_LOCATION und ACCESS_FINE_LOCATION im Manifest und in RunTime in der Aktivität festgelegt.

Dies ist die Liste der ScanFilter:

mScanFilterTest = new ScanFilter.Builder().build();
mScanFilter = new ArrayList<ScanFilter>();
mScanFilter.add(mScanFilterTest);

Dies sind die Einstellungen:

mScanSettings = new ScanSettings.Builder().setScanMode(ScanSettings.SCAN_MODE_LOW_POWER).setReportDelay(0)
                .setCallbackType(ScanSettings.CALLBACK_TYPE_ALL_MATCHES).build();

Das sind meine Rückrufe:

 mBLEScan = new ScanCallback() {
     @Override
     public void onScanResult(int callbackType, ScanResult result) {
         super.onScanResult(callbackType, result);
         Log.i(TAG, "******************************************");
         Log.i(TAG, "The scan result " + result);
         Log.i(TAG, "------------------------------------------");
         }
     };

Das ist mein Ruf:

mBluetoothLeScanner.startScan(mScanFilter, mScanSettings, mBLEScan);

Es startet den Scan, findet aber kein Gerät. Bitte hilf mir!!!!




Related