[英]Avoid discover services from BLE device during connection
我正在開發一個具有藍牙低能耗通信的Android應用程序,我需要與我的BLE設備快速連接。 發現設備的服務需要2秒,這對我的應用程序來說很重要,如果我第一次連接到設備,服務保存在BLE框架的某個緩存中,那么下次我嘗試發現服務需要幾毫秒時,那就是我的應用程序很好。
問題是,如果我在短時間內與設備斷開連接或連接到另一台設備,下次連接到第一台設備時,我需要發現服務並需要2秒鍾。
我只連接到一種類型的設備,並且已知服務和特性。
我嘗試使用有界(配對)設備,但是當我連接它們時沒有保存服務,我需要再次發現它。
有沒有任何方法可以保存服務和特性並將其保存在我的應用程序中,以便下次連接到設備時我不需要發現服務?
您可以連接,無需同時發現服務。 在需要服務實例時進行服務發現。
有沒有任何方法可以保存服務和特性並將其保存在我的應用程序中,以便下次連接到設備時我不需要發現服務?
您可以在app
保存service
和characteristic
細節。 但是當您嘗試讀取和寫入特征時, BluetoothGatt
實例應具有此詳細信息,並且只有服務發現會在BluetoothGatt
實例中添加服務數據。
因此,在使用這些services/characteristics
之前,您必須在應用程序中的某個時間點進行service
discovery
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.