5

我有和 Android 设备连接到 BLE 设备。如果我重新启动 android 设备,它会立即连接并正常工作。如果我关闭应用程序并重新启动后,它将连接但永远不会收到任何特征更改通知。

当我关闭应用程序并重新启动时,它基本上可以正常工作。

如果我去蓝牙设置并关闭蓝牙并重新打开它,在这种情况下,应用程序也直接连接并且工作正常。

我正确关闭并清理所有相关资源并正确退出,并且在 DDMS 中也看不到该应用程序。

但似乎即使在驱动程序级别,它仍然处于连接状态,并且 BLE 设备仍在发送数据。

谢谢

4

2 回答 2

0

重新连接远程设备时,连接仍保留在 onClientRegistered() 方法内,并且需要很长时间才能重新连接或无法完成建立连接,我认为可能是一个 android 问题。问候

于 2014-04-29T00:07:41.273 回答
0

已经很久了,这有点令人沮丧。问题是由于通知。

问题可能出在 Android 或 BLE 设备的任一端/两端。

但规则是我想出的最好的事情是确保在退出应用程序之前禁用所有通知。因此,驱动程序级别或 BLE 设备不会一直挂在旧连接中......

不仅应该在 Android 端这样做,而且还应该在 BLE 设备端使用禁用

受保护的静态最终 UUID CHARACTERISTIC_UPDATE_NOTIFICATION_DESCRIPTOR_UUID = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb");

这对我有用:)

于 2014-11-13T02:53:41.067 回答