【问题标题】:Firebase Read data in background AndroidFirebase在Android后台读取数据
【发布时间】:2017-03-05 08:56:12
【问题描述】:

无论如何我可以从firebase的实时数据库中读取数据并可以在应用程序未打开时保存它,我正在使用Firebase.getInstance.goOnline(); 每当网络连接发生变化时在代码中,以便它侦听数据。

如果应用程序不在最近或未打开,我可以将数据写入数据库,但同样,当应用程序未打开时,我无法读取数据。有什么可能的方法吗?还是我选择了错误的方法?

我只是希望只要网络连接可用,它就会自动下载更新的数据。 ,以便稍后我可以看到更新的数据处于脱机状态。

任何帮助将不胜感激。请。

【问题讨论】:

  • 我现在不确定,但是有一个 onPause() 方法你可以试试。
  • 我建议不要使用 Firebase 数据库进行后台数据传输。而是为此使用 Firebase 云消息传递。看到这个答案:stackoverflow.com/questions/42593510/…

标签: android firebase background firebase-realtime-database


【解决方案1】:

Android 不保证您的应用进程在屏幕上不可见时是否正在运行。它可以被杀死以支持对用户具有更高优先级的其他进程。所以,一般来说,假设您可以随时建立网络并不是一个好主意。

此外,较新的 Android 设备将使用doze mode 以帮助节省用户的电池电量。在这种情况下,您的应用肯定不会运行。

如果您想确保您的应用进程正在运行,您可以通过JobSchedulerAlarmManager 安排一些时间。或者,您可以使用 Firebase Cloud Messaging 从服务器 ping 您的应用程序。

【讨论】:

  • 我无法理解如何在上述选项的帮助下解决这个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-13
  • 2020-09-08
  • 2017-10-25
  • 2019-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多