【发布时间】:2017-08-06 10:48:06
【问题描述】:
在 Android 上使用 CodenameOne,我通过蓝牙 LE 订阅了计步器特性。看来我正在收到通知,我目前只是将数据“写入”到应用程序中的文本区域,作为我在解析数据并很好地呈现数据之前的第一轮确认数据。问题是应用程序快速锁定,好像 GUI 重绘和通知事件之间存在死锁问题。 GUI 更新是在订阅“侦听器”中完成的,据我了解,它位于 CodenameOne 环境中的 GUI 线程上。 “侦听器”基本上在 text.setText()、text.repaint() 处执行。没什么特别的。
所以,我不确定如何更新 GUI 并同时接收通知。如果我可以解决一般锁定问题,我有一个按钮,用户可以单击它来停止订阅。那个按钮当然不能在当前状态下使用。
我查看了其他问题,例如CodenameOne background task for BluetoothLe connection,但并不完全相同。
关于如何“解锁”它并在接收通知时允许 GUI 更新的任何建议?
【问题讨论】:
-
您能否发布一些 sn-p 来展示您在做什么,我们可以帮助您调查违反 EDT 的内容。
标签: android user-interface bluetooth codenameone