gpt4 book ai didi

Android后台任务和生命周期

转载 作者:行者123 更新时间:2023-11-29 16:16:42 25 4
gpt4 key购买 nike

我目前正在开发一个连接到蓝牙设备的应用程序,每 .25 秒接收一次消息,然后在屏幕上显示该数据。用户还可以任意开始/停止将此数据记录到 SD 卡上的文件中。

我曾尝试扩展一个线程类来监听来自 BT 设备的消息,然后使用处理程序将数据发送回 UI 线程并显示它。

这工作正常,但在配置更改(如屏幕旋转)时,当 Activity 被销毁并重新创建时,BT 线程被复制,我无法再与其通信。我没有问题,如果我在 onStop() 中停止 BT 线程并在 onResume() 中重新启动它,但随后我需要重新连接到 BT 设备,如果用户正在记录数据,那将被中断。

完成此功能的正确方法是什么?有没有办法设置我的线程,这样它就不会重复,或者我可以在配置更改后重新连接到它?我是否应该查看用于我的 BT 连接和日志记录的服务,然后以某种方式从该服务获取提要以显示在 UI 上?

谢谢!

最佳答案

Should I instead be looking at a service for my BT connection and logging, and then somehow get a feed from the service to display on the UI?

是的,你应该。我认为这是一个很好的方法。您应该在服务中运行日志数据线程,并将需要传递到主 UI 或 Activity 的数据放在共享首选项中,这将使任何 Activity 都可以访问该信息。

我认为这是最好的方法。

你可以使用 alex.veprik 提供的方法

关于Android后台任务和生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8828898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com