蓝牙LE扫描仪线程

时间:2017-06-03 03:26:46

标签: android multithreading bluetooth

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

1 个答案:

答案 0 :(得分:1)

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

请查看BluetoothLeScanner和蓝牙适配器的startLeScan方法:

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

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