从Android 4.2升级到4.3后,当从我们的Nexus 4应用与外部蓝牙ECG(医疗设备)进行通信时,我们可以在6秒后确认蓝牙断开连接。这种情况特别发生在ECG测量中,其中包含大量入站数据(从ECG到Android应用),但没有出站数据。似乎不时会与某些入站和出站数据进行“正常”蓝牙通信。
6秒后,我们将看到JJM报告的相同adb日志消息
dm_pm_timer expiresdm_pm_timer expires 0proc dm_pm_timer expiresbtm_sec_disconnected - Clearing Pending flag
Android端的计时器到期会触发外部蓝牙ECG上的某些事件(关闭输出流,因为没有出站数据?),这反过来又发送了我们在输入流上收到的ECG特定命令,而在Android 4.2的Nexus 4上却从未收到过。
更改Android应用程序的实现以偶尔向ECG发送任意的“保持活动”命令即可解决此问题。计时器到期时间不再显示在adb日志中,ECG测量现在的行为与Android 4.2相同。
感谢JJM的提示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)