我正在开发一款可以连续从传感器接收数据的BLE安卓应用。我正在使用这个开源app(1)。每次单击 Read Char 按钮时,此应用程序都可以接收一组数据。现在,我想修改它,以便在按下 Read Char 按钮后我可以连续接收数据。任何人都知道我需要更改代码的确切位置以便做我需要的工作吗?
另外,我发现另一个app(2)可以在连接到传感器后连续接收数据,我试图比较这两个应用程序以查看差异,但结果并不好。
我注意到的是我需要移动 mBluetoothLeService.readCustomCharacteristic(); 从app(1)中的DeviceControlActivity.java显示在下面的其他地方,因为我认为这一行读取了传感器的值。
public void onClickRead(View v){
if(mBluetoothLeService != null) {
mBluetoothLeService.readCustomCharacteristic();
}
}
在app(2)中,他们只是连接后连续读取数据,在MainActivity.java中的if语句中有一个类似的代码块,如下所示:
if (action.equals(UartService.ACTION_GATT_SERVICES_DISCOVERED)) {
mService.enableTXNotification();
}
由于两个应用程序非常相似,我试图移动mBluetoothLeService.readCustomCharacteristic();在app(1)中的DeviceControlActivity.java中的elseif语句内部如下所示:
if (BluetoothLeService.ACTION_GATT_SERVICES_DISCOVERED.equals(action)) {
mBluetoothLeService.readCustomCharacteristic();
}
但这只读过一次,就是这样。
感谢任何帮助。谢谢。