2017-06-03 5 views
0

Ich bin sehr neu in der Android-Entwicklung und ich versuche gerade, eine App zu machen, die Nachrichten von einem Blue-tooth LE-Gerät empfängt. Die Informationen, die es sendet, sind sehr wichtig, und ich mache jedes Mal schwere Berechnungen, wenn ich einen Scan bekomme. Meine Frage ist, sollte ich diese Scan-Methode auf einen separaten Thread setzen? Außerdem neigt die App zu Beginn dazu, schnell zu scannen und dann werden die Scans sehr langsam, und ich bin mir nicht sicher warum, Gedanken?Bluetooth LE Scanner Thread

+0

Hast du meine Antwort? oder brauchst du noch etwas? –

+0

Für BLE-Scan, hoffe, dass dieser https://github.com/RustFisher/BluetoothScanner helfen könnte. –

Antwort

1

Sie müssen das Scannen nicht aus einem separaten Thread starten, die Low-Energy-Scanner sind Callback-basiert und laufen bereits in separaten Threads.

Bitte nehmen Sie sich einen Blick auf BluetoothLeScanner und startLeScan Methode der Bluetooth-Adapter:

BluetoothManager bluetoothManager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); 
BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter(); 

bluetoothAdapter.getBluetoothLeScanner().startScan(yourCallback); // API 21+ 
bluetoothAdapter.startLeScan(yourCallback); // API 18+ 
Verwandte Themen