蓝牙LE扫描仪线程

问题描述:

我对Android开发非常陌生,目前我正在尝试制作一个应用程序,可以从蓝牙LE设备接收消息。它发送的信息非常重要,每次我扫描时我都会进行大量计算。我的问题是我应该把这个扫描方法放在一个单独的线程上吗?此外,在开始时,应用程序往往会快速扫描,然后扫描变得非常缓慢,我不知道为什么,想法?蓝牙LE扫描仪线程

+0

你收到我的答案吗?或者你需要别的东西? –

+0

对于BLE扫描,希望这个https://github.com/RustFisher/BluetoothScanner可以提供帮助。 –

您不必从单独的线程开始扫描,低能量扫描程序基于回调并且已经在单独的线程中运行。

请把蓝牙适配器上BluetoothLeScanner一看,startLeScan方法:

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

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