我有一个计时器应用程序。使用前台服务记录持续时间。该前台服务有一个可变的实时数据,当倒计时归零时,该数据将发生后值。在 MainActiviy 中,我观察到这个可变的实时数据,如果有任何更新,会将记录保存到数据库中。
一切都很好,直到我将 targetSdk 从 33 设置为 34。
现在,如果我将应用程序留在后台,则 MainActivity 无法从前台服务获取任何更新,直到我再次打开此活动。但如果 targetSdk = 33。我可以获得更新。那么我应该怎么做才能从 33 迁移到 34。谢谢。
就我个人而言,我不会使用
MutableLiveData
,而是使用 LocalBroadcast
,以便您可以从 MainActivity
注册并从您的服务接收更新。
您的问题可能是背景限制,但使用
LocalBroadcast
就不会出现此问题。