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

在android应用程序关闭后使用侦听器,android,firebase,android-service,google-cloud-firestore,android-jobscheduler,Android,Firebase,Android Service,Google Cloud Firestore,Android Jobscheduler,我刚刚读到关于在我的应用程序中添加服务的内容,从7/8开始,现在有了服务限制来提高手机性能 我已经看到,推荐的方法是使用作业调度器,但如果我这样做了,它是否会不定期地启动一个新的侦听器呢 基本上,我更新数据库,并使用快照侦听器实时更新用户。当应用程序关闭时,我想发送通知 我的问题(如果我是正确的)是,不断提出新的Firestore请求将耗尽我的请求津贴 此外,如果它是一个作业调度程序,它将不会是实时的 我已经读到,你可以使用前台服务,但这看起来不像是一个需要永久通知的任务,它会激怒用户 有人知道

我刚刚读到关于在我的应用程序中添加服务的内容,从7/8开始,现在有了服务限制来提高手机性能

我已经看到,推荐的方法是使用作业调度器,但如果我这样做了,它是否会不定期地启动一个新的侦听器呢

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

我的问题(如果我是正确的)是,不断提出新的Firestore请求将耗尽我的请求津贴

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

我已经读到,你可以使用前台服务,但这看起来不像是一个需要永久通知的任务,它会激怒用户

有人知道我该如何实现这个吗

谢谢

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

您可以在android应用程序关闭后使用侦听器,方法是不删除它。一旦您使用了侦听器,您还需要根据活动的生命周期。但这只会在短时间内有效,因为如果应用程序不在前台,Android将停止您的服务。它这样做是为了在应用程序未被使用时节省资源。它还可能会阻止你的应用程序进行任何网络连接,甚至完全终止应用程序进程。正如您已经提到的,除了将其作为前台服务之外,您没有什么可以阻止它

前台服务对于您的案例来说可能不是最好的选择,对于您的用户来说也不是最好的选择。阅读更多关于


我的建议是,当您的应用程序可能感兴趣的内容发生更改时,使用此选项通知您的应用程序。因此,即使您的用户关闭应用程序,他们也会收到通知。

谢谢Alex!这是很好的信息。查看firebase云消息传递看起来有点复杂。看来我得写一个java脚本云函数了,我想?我真的不知道该怎么做!这并不难,网上有很多教程。干杯!