2015-05-25 48 views
4

我正在开发具有蓝牙低能量通信的Android应用程序,并且我需要与我的BLE设备进行快速连接。发现设备的服务需要2秒钟,这对我的应用程序来说非常重要,如果我第一次连接到设备时服务保存在BLE框架的某个缓存中,那么下次我尝试发现服务需要几毫秒,这就是罚款为我的应用程序。避免在连接期间从BLE设备发现服务

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

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

我试图使用有界(配对)设备,但是当我连接到他们没有保存的服务,我需要再次发现它。

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

+0

对此有何好运?我还没有看到Android L – Amit

+0

的类似问题,对不起。 –

+0

我也想回答这个问题。无论如何,为了避免服务发现,总是? –

回答

2

您可以连接并且无需同时发现服务。当你需要服务实例时做服务发现。

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

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

所以你必须在使用那些services/characteristics之前的某个时间点在你的应用中做servicediscovery