我和Android设备连接到BLE设备。如果我重新启动Android设备,它会立即连接并正常工作。如果我关闭应用程序并重新开始,它将连接但从未获得任何特征更改通知。
当我关闭应用程序并重新开始时,它几乎可以正常工作。
如果我进入蓝牙设置并关闭蓝牙并将其打开,在这种情况下,应用程序也会直接连接并正常工作。
我正确关闭并清理所有相关资源并正确退出,我也没有在DDMS中看到该应用程序。
但似乎即便在驱动程序级别,它仍然连接并且BLE设备仍在发送数据。
由于
答案 0 :(得分:0)
当重新连接远程设备时,连接仍然在onClientRegistered()方法内部,并且重新连接需要花费很多时间或者没有完成建立连接,我认为这可能是一个安卓问题。此致
答案 1 :(得分:0)
已经很长时间了,这有点令人沮丧。问题是由于通知。
问题可能出在Android或BLE设备的两端/两端。
但规则是我想到的最好的事情是确保在退出应用程序之前禁用所有通知。因此,驱动程序级别或BLE设备不会挂在较旧的连接中......
不仅要为Android方做,还要在BLE设备端使用
禁用protected static final UUID CHARACTERISTIC_UPDATE_NOTIFICATION_DESCRIPTOR_UUID = UUID.fromString(“00002902-0000-1000-8000-00805f9b34fb”);
这对我有用:)