0

情况: 我是一名最近毕业的 IoT 开发人员 (c/cpp),被聘为一家小公司的移动应用程序(除其他外)工作。这个应用程序仅由我开发,是唯一的本地开发人员,并用 Kotlin 编写。所以我的技能是有限的,我对面向对象编程的理解也是有限的。

程序: 我的任务是开发一个应用程序来跟踪位置并在某些点周围创建地理围栏。这两个我都成功地暗示了。这两个功能都可以在屏幕锁定或应用程序移至后台时发挥作用。我正在使用 mutableLiveData 对象来收集信息并将其发送到“发布”函数。当应用程序在前台处于活动状态并且屏幕解锁时,这一切都有效。

问题: 只要应用程序处于活动状态,一切都可以正常工作,但是当移动到后台或屏幕锁定时,观察者似乎并没有真正将数据发送到 post 函数。当应用程序在前台再次激活时,它会执行此操作。我已经了解到,这就是 livedata 观察者的工作方式,我不知道这里有什么替代方案。

我在找什么: 我需要想办法在一个对象中收集不同的变量数据,当应用程序在后台或屏幕被锁定时,我可以发送到远程 HTTP 端点,比如 livedata 观察者,但用于后台活动.

4

1 回答 1

0

LiveData 仅在 Activity 正在运行时起作用,因此当应用程序处于后台或暂停状态时,LiveData 不会触发任何内容。

对于后台任务,您可以使用服务或线程,但完全不同的方法是使用绑定或消息,这对于新程序员来说可能有点复杂。

于 2021-02-26T14:37:47.103 回答