在 android 应用程序关闭后使用侦听器

Using a listener after an android application is closed

我刚刚阅读了有关向我的应用程序添加服务的信息,自 7 月 8 日以来,现在存在服务限制以提高 phone 性能。

我看到推荐的方法是使用作业调度程序,但如果我这样做,它不会定期启动一个新的侦听器吗?

基本上我更新我的数据库,并使用快照侦听器我想实时更新我的​​用户。当应用程序关闭时,我想发送一个通知。

我的问题(如果我是对的)是不断发出新的 Firestore 请求会耗尽我的请求限额。

此外,如果它是一个作业调度程序,它不会是实时的吗?

我了解到您可以使用前台服务,但这看起来不像是需要永久通知并且会惹恼用户的任务。

有人对我如何实现这个有任何建议吗?

谢谢

Using a listener after an android application is closed

您可以在 android 应用程序关闭后使用侦听器,而不是将其删除。使用侦听器后,您还需要根据 activity 的生命周期 。但这只会在一段时间内有效,因为如果应用程序不在前台,Android 将停止您的服务。它这样做是为了在应用程序未被使用时节省资源。它还可能会阻止您的应用程序进行任何联网,甚至完全终止应用程序进程。正如您已经提到的,除了将其设为前台服务之外,您无法采取任何措施来防止这种情况发生。

前台服务可能不是适合您的情况的最佳选择,也不是适合您的用户的最佳选择。详细了解 limitations on background services

我的建议是使用 Firebase Cloud Messaging 在它可能感兴趣的更改发生时通知您的应用。这样即使您的用户关闭他们的应用,他们也会收到通知。