如何在延迟线程上写入BLE数据?

时间:2018-06-25 13:06:14

标签: android multithreading callback bluetooth-lowenergy

我有一个运行中的Android应用程序,该程序将字符串列表写入低功耗蓝牙扫描器,每次写入之间存在延迟。列表中的每个项目都写入onCharacteristicWrite()蓝牙回调中,然后线程进入睡眠状态。延迟导致应用的UI线程无响应。我尝试将每个项目延迟地写入自己的线程中,但是似乎onCharacteristicWrite()不在延迟线程上运行。有没有一种方法可以强制将BLE写到另一个可以延迟的线程上,从而使UI不受影响?

1 个答案:

答案 0 :(得分:0)

我通过编写一个后台线程来解决这个问题,该线程将每个项目从列表中发送出去;发送;延迟读取时间,然后循环等待发送完成。 onCharacteristicWrite()将发送标记为已完成,并且当后台线程接收到通知时,它将发送下一个通知。效果很好。