设置targetSdk = 34后,后台Activity无法接收前台服务的更新

问题描述 投票:0回答:1

我有一个计时器应用程序。使用前台服务记录持续时间。该前台服务有一个可变的实时数据,当倒计时归零时,该数据将发生后值。在 MainActiviy 中,我观察到这个可变的实时数据,如果有任何更新,会将记录保存到数据库中。

一切都很好,直到我将 targetSdk 从 33 设置为 34。

现在,如果我将应用程序留在后台,则 MainActivity 无法从前台服务获取任何更新,直到我再次打开此活动。但如果 targetSdk = 33。我可以获得更新。那么我应该怎么做才能从 33 迁移到 34。谢谢。

android kotlin android-activity service mutablelivedata
1个回答
0
投票

就我个人而言,我不会使用

MutableLiveData
,而是使用
LocalBroadcast
,以便您可以从
MainActivity
注册并从您的服务接收更新。

您的问题可能是背景限制,但使用

LocalBroadcast
就不会出现此问题。

© www.soinside.com 2019 - 2024. All rights reserved.