2017-10-10 45 views
0

我在Android上開發了一個名爲A的BLE應用程序,以使用我的設備deviceA。 它工作得很好。現在我陷入以下情況:
我啓動了名爲B的其他BLE應用程序,並使用名爲deviceB的設備連接。 它在前臺。 我的應用程序正在後臺運行。 我開始將deviceA連接到應用程序A. 它將描述符寫入deviceA並接收狀態爲GATT_SUCCESS的onWriteDescriptor。但deviceA不能接收描述符數據。 在日誌文件中,我看到應用程序B多次啓動BLE掃描/停止BLE掃描。
有沒有專家可以解釋爲什麼deviceA在這種情況下無法接收數據?
非常感謝。無法將描述符發送到遠程設備

+0

你是說在空中沒有ATT寫請求和ATT寫響應數據包對應你的描述符寫入? – Emil

+0

謝謝你的回覆,Emil。我是BLE的新手。我如何捕獲這些數據包?我只是在Android編程的背景下理解它。 – teddy

+0

我再次閱讀我的問題,明白你的意思。我很抱歉讓你感到困惑。我更多地解釋:在我的應用程序中,我正在等待onDescriptorWrite回調後從GATT回調onCharacteristicChanged。所以我猜想,設備端不能接收描述符值,因此它沒有響應。 – teddy

回答

0

您還需要調用setCharacteristicNotification,它告訴Android在Android收到通知時將通知轉發給您的應用程序。

+0

在我的問題中,我說我的應用程序在單獨運行時運行良好(不是啓動應用程序B)。所以必須調用setCharacteristicNotification。 – teddy