关闭应用后,继续在Android上收听Firestore更新

问题描述

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

什么是这样做的好方法?我对服务等方面的经验很少,但是如果我完全理解,则应该使用WorkManager或前台服务。是否有解决方案可以允许对UI和背景使用相同的侦听器?

大多数类似问题的答案都建议使用FCM +云功能来发送更新,但是出于我的目的,我希望收到持续的通知,并且我遇到了云功能的延迟,因此我想避免这种方式

解决方法

这些天,您根本无法使用它的工作方式。

当您的应用在Android上后台运行时,操作系统将逐渐减少其资源使用量。这意味着,即使在后台服务中,您也不能依靠Firestore的常规机制从服务器接收更新。

向未在前台激活的应用程序传递更新的惯用方式是(如您所知)从服务器或Cloud Functions向该应用程序发送FCM消息。如果您在进行这项工作时遇到困难,请在发布minimal,complete/standalone code with which we can reproduce where you got stuck时更好地为您提供帮助。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...