2017-10-10 40 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