我正在开发一个具有蓝牙低能耗通信的Android应用程序,我需要与我的BLE设备快速连接。发现设备的服务需要2秒,这对我的应用程序来说很重要,如果我第一次连接到设备,服务保存在BLE框架的某个缓存中,那么下次我尝试发现服务需要几毫秒时,那就是我的应用程序很好。
问题是,如果我连接设备断开连接或连接到另一台设备,下次连接第一台设备时,我需要发现服务并需要2秒钟。
我只连接到一种类型的设备,并且已知服务和特性。
我尝试使用有界(配对)设备,但是当我连接它们时,没有保存服务,我需要再次发现它。
是否有任何方法可以保存服务和特性并将其保存在我的应用中,以便下次连接到设备时我不需要发现服务?
答案 0 :(得分:2)
您可以连接,无需同时发现服务。在需要服务实例时进行服务发现。
是否有任何方法可以保存服务和特性并将其保存在我的应用中,以便下次连接设备时我不需要发现服务?
您可以在service
中保存characteristic
和app
个详细信息。但是当您尝试读取和写入特征时,BluetoothGatt
实例应具有此详细信息,并且只有服务发现会在BluetoothGatt
实例中添加服务数据。
因此,在使用service
之前,您必须在应用中一次discovery
services/characteristics
。