2015-05-25 82 views
4

我正在開發具有藍牙低能量通信的Android應用程序,並且我需要與我的BLE設備進行快速連接。發現設備的服務需要2秒鐘,這對我的應用程序來說非常重要,如果我第一次連接到設備時服務保存在BLE框架的某個緩存中,那麼下次我嘗試發現服務需要幾毫秒,這就是罰款爲我的應用程序。避免在連接期間從BLE設備發現服務

問題是,如果我從設備斷開lnog時間或者連接到另一個設備,下次連接到第一個設備時,我需要發現服務並需要2秒鐘。

我只連接到一種類型的設備,服務和特性是已知的。

我試圖使用有界(配對)設備,但是當我連接到他們沒有保存的服務,我需要再次發現它。

是否有任何方法來保存服務和特性,並將其保存在我的應用程序中,以便下次連接到設備時我不需要發現服務?

+0

對此有何好運?我還沒有看到Android L – Amit

+0

的類似問題,對不起。 –

+0

我也想回答這個問題。無論如何,爲了避免服務發現,總是? –

回答

2

您可以連接並且無需同時發現服務。當你需要服務實例時做服務發現。

是否有任何方法可以保存服務和特性,並將其保存在我的應用程序中,以便下次連接到設備時我不需要發現服務?

您可以節省servicecharacteristic詳細信息在app。但是當您嘗試讀取和寫入特徵時,BluetoothGatt實例應具有此詳細信息,並且只有服務發現纔會在實例中添加服務數據。

所以你必須在使用那些services/characteristics之前的某個時間點在你的應用中做servicediscovery