代码之家  ›  专栏  ›  技术社区  ›  MrVasilev

Android应用程序侦听Firebase数据库子更改24/7[重复]

  •  0
  • MrVasilev  · 技术社区  · 7 年前

    有人能帮我保持Firebase数据库连接始终在线吗?我一直在做一个类似于UBER应用程序的项目。我只想让客户能够看到司机,即使司机的应用程序是在后台工作。 为此,我必须保持Firebase数据库和驱动程序应用程序的连接,即Firebase Database.getInstance().goOnline()。永远!!至少几个小时。 这个故事就像有两个应用程序我们可以看到彼此的位置 在地图片段上,我只想做的是,如果第一个应用程序在后台工作,即使第二个应用程序应该能够看到第一个应用程序的位置(第一个标记)。就我而言,它只持续几分钟。 我已经做了很多研究,我了解了后台工作的服务,但我怀疑这些服务如何使我的应用程序活动连接到FirebaseDatabase。 是不是,如果服务正在工作并与数据库连接,那么我的应用程序活动也已连接?即FirebaseDatabase.getInstance().goOnline()==true??

    需要一些代码和帮助!拜托!!

    0 回复  |  直到 7 年前
        1
  •  1
  •   Alex Mamo    7 年前

    如果你的应用程序将在后台运行很长一段时间,你需要知道Android(操作系统)可能会终止你的应用程序进程,转而使用更重要的应用程序。当你的进程在前景中不再可见时,Android也会阻止你的进程联网。这是正常的bahaviour,因为人们普遍关心的是防止性能不佳的应用程序消耗太多资源。

    如果您的应用程序需要在用户不再使用时继续联网,则必须启动 foreground service ,这还要求您向用户显示一个通知,指示用户您的应用程序仍在运行。这是编辑的,因为用户应该知道应用程序将消耗比预期更多的资源。