Android从第三方库中启动的活动连接检索或分配BluetoothGattCallback到

Android从第三方库中启动的活动连接检索或分配BluetoothGattCallback到,android,bluetooth-lowenergy,android-bluetooth,android-ble,Android,Bluetooth Lowenergy,Android Bluetooth,Android Ble,我目前有一个项目在我的办公桌上,它使用一个第三方库来处理(BLE)特定于设备的功能。这意味着,该库处理连接尝试,支持特征通知、阅读和写作 我遇到的问题是,这个库没有为BluetoothGattCallback方法提供任何方法,也没有任何方法可以在读取/写入特征时处理应用程序内。我可以访问的是两种方法,在这些方法中,我可以传递回调,并且在一些任务之后会触发回调 在我的回调被触发之前,lib已经在幕后收到了许多onCharacteristicRead调用 在我看来,这个项目应该依赖于何时触发Blue

我目前有一个项目在我的办公桌上,它使用一个第三方库来处理(BLE)特定于设备的功能。这意味着,该库处理连接尝试,支持特征通知、阅读和写作

我遇到的问题是,这个库没有为BluetoothGattCallback方法提供任何方法,也没有任何方法可以在读取/写入特征时处理应用程序内。我可以访问的是两种方法,在这些方法中,我可以传递回调,并且在一些任务之后会触发回调

在我的回调被触发之前,lib已经在幕后收到了许多onCharacteristicRead调用

在我看来,这个项目应该依赖于何时触发BluetoothCharacteristics(通过R/W/S/N),而不是在3:rd库中完成一组指令或规则时触发回调函数

例如,可以从BluetoothManager中检索connect(ed)设备,如下所示(1只是虚拟设备):

但是,要检索gattcallback却无处可寻

我的设备只能管理1个活动连接,所以我想知道是否有任何方法或解决方法

作为旁注,“nRF连接”应用程序以某种方式实现了这一点。当在后台保持打开状态时,当我从我的应用程序与BLE设备建立连接时,会打开“新设备”选项卡


只要使用connectGatt,您将获得另一个到同一物理连接的逻辑连接。我刚刚意识到来自Android源的BluetoothLeGatt示例,其行为完全符合我的需要。很高兴知道,即使调用connectGatt,也不会启动“无新连接”。我的缺点是没有充分阅读文档。
// Initializes a Bluetooth adapter.  For API level 18 and above, get a reference to
// BluetoothAdapter through BluetoothManager.
final BluetoothManager bluetoothManager = 
           (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE);
BluetoothDevice device = 
           bluetoothManager.getConnectedDevices(1).get(1);