![](/img/trans.png)
[英]Android Mobile/Device as a BLE GATT Peripheral & Central Simultaneously
[英]Android Device as BLE peripheral and GATT client
我正在嘗試構建一個充當 BLE 外設和 GATT 客戶端的 Android 應用程序。
這些是我試圖實現的步驟:
Android 設備開始為自己做廣告。 第二個設備開始掃描,一旦檢測到 Android 設備,它就會啟動連接。
Android 設備充當 GATT 客戶端並嘗試連接到服務器設備。
第一步似乎工作正常,我可以做廣告,另一台設備(在我的例子中是 Bluegiga Evalboard)能夠看到 Android 設備並可以建立連接。
但是我如何在 Android 設備上通知可以建立連接以調用函數device.connectGatt(context, false, gattCb)
連接到 GATT 服務器?
我也是通過啟動廣告后獲取遠程設備來嘗試的。
BluetoothDevice device = bleAdapter.getRemoteDevice(remoteAddress); device.connectGatt(context, false, gattCb);
唯一發生的事情是從 BluetoothGattCallback 調用onConnectionStateChange(BluetoothGatt gatt, int status, int newState)
函數只是為了通知我設備已斷開連接。
我錯過了什么?
我建議在廣告期過后嘗試使用BluetoothAdapter
的getBondedDevices
方法,而不是像您那樣使用getRemoteDevice
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.