android - 关闭应用后继续在 Android 上收听 Firestore 更新
问题描述
目前我已经编写了自定义 LiveData 类,它在被观察的同时将快照监听器添加到文档引用中,从而提供了更新 UI 的简单方法。我想在应用关闭后继续收听同一个文档,并在通知中显示更新。
什么是这样做的好方法?我对服务等方面的经验很少,但如果我理解正确,我应该使用 WorkManager 或前台服务。是否有允许对 UI 和背景使用相同侦听器的解决方案?
大多数类似问题的答案都建议使用 FCM + Cloud Functions 来发送更新,但出于我的目的,我希望获得持续的通知,而且我也遇到过云功能的延迟,所以我想避免这种方式。
解决方案
如今,您希望它的工作方式已经不可能了。
当您的应用程序以 Android 为后台时,操作系统会随着时间的推移减少其资源使用量。这意味着您不能依赖 Firestore 的常用机制来接收来自服务器的更新,即使在后台服务中也是如此。
将更新传递到在前台不活动的应用程序的惯用方法是(如您所见)从服务器或 Cloud Functions 向该应用程序发送 FCM 消息。如果您在完成这项工作时遇到问题,如果您发布最小的、完整的/独立的代码,我们将能够更好地提供帮助,我们可以使用这些代码重现您遇到的问题。
推荐阅读
- javascript - JavaScript - 匹配数组中的对象并删除或添加
- python - 从文件夹中多个文件的内容创建数据框
- android - 如何使用 Android Studio Profiler 查看分配的图像
- swift - 如何对 URL 进行编码以在 Swift 中传递百分比 (%) 符号?
- java - 使用 EntityManager NativeQuery 生成一个自增数并将数据插入 Oracle DB
- java - java - 如何在java中使用扫描仪重复更改变量计数?
- javascript - 我正在尝试使用 HighChart 地图和实体量规,它们都可以独立地为我的数据工作,但是在将它们放在文件中时会出现很多错误
- python - 使用人工输入增强预学习模型以更好地使用 python 确定图像相似度
- sql - 检查列是否具有任何扩展属性
- javascript - 循环更改文档中的所有 alt="" 值