Android 避免在连接过程中发现来自可扩展设备的服务

Android 避免在连接过程中发现来自可扩展设备的服务,android,bluetooth-lowenergy,Android,Bluetooth Lowenergy,我正在开发一个Android应用程序,它带有蓝牙低能耗通信,我需要一个与我的BLE设备的快速连接。发现设备的服务需要2秒,这对我的应用程序来说太多了,如果我第一次连接到设备,服务会保存在BLE框架中的某个缓存中,那么下一次我尝试发现服务需要几毫秒,这对我的应用程序来说很好 问题是,如果我与设备断开连接一段时间或连接到另一个设备,下一次连接到第一个设备时,我需要发现服务,需要2秒钟 我只连接到一种类型的设备,服务和特性是已知的 我尝试使用绑定(配对)设备,但当我连接到它们时,没有保存任何服务,我需

我正在开发一个Android应用程序,它带有蓝牙低能耗通信,我需要一个与我的BLE设备的快速连接。发现设备的服务需要2秒,这对我的应用程序来说太多了,如果我第一次连接到设备,服务会保存在BLE框架中的某个缓存中,那么下一次我尝试发现服务需要几毫秒,这对我的应用程序来说很好

问题是,如果我与设备断开连接一段时间或连接到另一个设备,下一次连接到第一个设备时,我需要发现服务,需要2秒钟

我只连接到一种类型的设备,服务和特性是已知的

我尝试使用绑定(配对)设备,但当我连接到它们时,没有保存任何服务,我需要再次发现它


是否有任何方法可以保存服务和特征并将其保存在我的应用程序中,以便下次连接到设备时不需要查找服务?

您可以连接,而不需要同时查找服务。在需要服务实例时进行服务发现

是否有任何方法保存服务和特征并将其保存在我的应用程序中,以便下次连接到设备时不需要发现服务?

您可以在
app
中保存
服务
特征
详细信息。但是当您尝试读取和写入特征时,
BluetoothGatt
实例应该具有此详细信息,并且只有服务发现会在
BluetoothGatt
实例中添加服务数据


因此,在使用这些
服务/特征之前,您必须在某个时间点在应用程序中执行
服务
发现

,这方面运气好吗?我看到Android也有类似的问题,我也想回答这个问题。无论如何都要避免服务发现,是吗?