问题描述
当前,我已经编写了自定义LiveData类,该类在观察时将快照侦听器添加到文档引用中,从而提供了一种更新UI的简便方法。我想在应用关闭后继续收听同一文档,并在通知中显示更新。
什么是这样做的好方法?我对服务等方面的经验很少,但是如果我完全理解,则应该使用WorkManager或前台服务。是否有解决方案可以允许对UI和背景使用相同的侦听器?
大多数类似问题的答案都建议使用FCM +云功能来发送更新,但是出于我的目的,我希望收到持续的通知,并且我遇到了云功能的延迟,因此我想避免这种方式
解决方法
这些天,您根本无法使用它的工作方式。
当您的应用在Android上后台运行时,操作系统将逐渐减少其资源使用量。这意味着,即使在后台服务中,您也不能依靠Firestore的常规机制从服务器接收更新。
向未在前台激活的应用程序传递更新的惯用方式是(如您所知)从服务器或Cloud Functions向该应用程序发送FCM消息。如果您在进行这项工作时遇到困难,请在发布minimal,complete/standalone code with which we can reproduce where you got stuck时更好地为您提供帮助。