关闭应用程序后,继续收听安卓系统上的Firestore更新



目前我已经编写了自定义的LiveData类,它在被观察时将快照侦听器添加到文档引用中,从而提供了更新UI的简单方法。我想在应用程序关闭后继续收听同一文档,并在通知中显示更新。

有什么好方法可以做到这一点?我对服务等没有什么经验,但如果我能准确理解,我应该使用WorkManager或前台服务。有没有一个解决方案可以允许在UI和后台使用相同的侦听器?

大多数类似问题的答案都建议使用FCM+云功能发送更新,但出于我的目的,我希望得到持续的通知,而且我也遇到过云功能的延迟,所以我希望避免这样做。

你希望它的工作方式现在已经不可能了。

当你的应用程序在安卓系统上备份时,操作系统会随着时间的推移减少资源使用。这意味着您不能依赖Firestore的常规机制从服务器接收更新,即使在后台服务中也是如此。

将更新传递到前台不活动的应用程序的惯用方法是(正如您所发现的(从服务器或云功能向该应用程序发送FCM消息。如果您在完成这项工作时遇到困难,如果您发布最小、完整/独立的代码,我们将能够更好地提供帮助,我们可以用这些代码重现您遇到的问题。

最新更新