蓝牙LE gatt不断接收数据

时间:2017-08-26 01:18:29

标签: java android bluetooth

我正在开发一款可以连续从传感器接收数据的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(); 
        }

但这只读过一次,就是这样。

感谢任何帮助。谢谢。

0 个答案:

没有答案