【发布时间】:2015-07-22 06:35:47
【问题描述】:
退出应用并重新启动后,我不再收到onCharacteristicChanged。
这是我与 ble 设备配对的步骤。
- 我有一个包含 ble 逻辑并持久化
bluetoothGatthobj 的服务,我在应用启动时在此处执行blueToothGatt.connect。 - 一旦我得到
onConnectionStateChange和STATE_CONNECTED,我就会打电话给blueToothGatt.discover - 在
onServicesDiscovered回调中,我将获取并持久化我关心的服务和特征。然后我会调用blueToothGatt.setCharacteristicNotification并写入描述符以启用通知。 - 现在我执行写操作,然后我会收到
onCharacteristicChange的回调就好了。 - 之后,假设我退出了应用程序(设备仍然配对)。最后一个活动的
onDestroy,我的BLE设备服务被解除绑定......我将在unbind回调上执行关闭并调用selfstop停止服务。现在,如果我重新启动该应用程序。我将执行相同的步骤 1-4,但是这次onCharacteristicChange没有接到电话,我也尝试在关闭之前断开连接...但这没有帮助
(我确实注意到的一件事是,如果设备在重新启动时未配对/断开连接,则会出现问题,但是如果我关闭 BLE 设备的电源并在重新启动应用程序之前将其重新打开,那么我会得到回调onCharacteristicChanged 就好了。这似乎是设备保留了一些阻止onCharacteristics 接听电话的设置。)
对此的任何见解将不胜感激。谢谢!
【问题讨论】:
标签: android bluetooth bluetooth-lowenergy