【问题标题】:Using a listener after an android application is closed在关闭 android 应用程序后使用监听器
【发布时间】:2018-11-02 01:21:35
【问题描述】:

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

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

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

我的问题(如果我没记错的话)是不断提出新的 Firestore 请求会耗尽我的请求限额。

另外,如果它是一个作业调度器,它不会是实时的?

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

有人对我如何实现这个有任何提示吗?

谢谢

【问题讨论】:

    标签: android firebase android-service google-cloud-firestore android-jobscheduler


    【解决方案1】:

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

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

    前台服务可能不是您的最佳选择,也不是您的用户的最佳选择。阅读有关limitations on background services 的更多信息。

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

    【讨论】:

    • 谢谢亚历克斯!这是很好的信息。查看 firebase 云消息传递看起来有点复杂。看起来我必须编写一个我认为的 java 脚本云函数?我绝对不知道该怎么做!
    • 不难,网上有很多教程。干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    • 2015-05-29
    • 2017-07-26
    相关资源
    最近更新 更多