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