【问题标题】:Android: Update remote database (Firebase) when application is killedAndroid:应用程序被杀死时更新远程数据库(Firebase)
【发布时间】:2017-04-11 13:50:37
【问题描述】:

我有一个 android 应用程序,想要在应用程序被终止时更新我的​​远程数据库。现在,我使用我的一项服务的 onTaskRemoved() 方法,当应用程序从当前应用程序列表中删除时我会在该方法中处理,并将 Intent 发送到 BroadcastReceiver,在那里调用我的远程数据库的请求(如果想等待来自后端的响应写操作成功)。 这种方法并非一直有效。

主要思想是知道哪些用户在他们的应用程序中,哪些用户杀死了它。

【问题讨论】:

    标签: android firebase


    【解决方案1】:

    当设备不再连接时,您可以使用onDisconnect() 更新数据库。用法如下:

    databaseReference.onDisconnect().setValue(true);
    

    您在应用运行时设置此值,远程数据库不会立即写入,但当您的应用断开连接时,Firebase 会将该值更新到数据库。

    有关onDisconnect() 的更多信息以及显示用户何时下线的示例可在the documentation here 中找到。

    【讨论】:

    • 谢谢刘易斯。现在我正在测试 onDisconnect() 并且效果很好。
    • Lewis,当我将应用程序置于后台 5-6 分钟然后将其杀死(从当前应用程序列表中删除)时,onDisconnect().setValue(true);不工作
    【解决方案2】:

    Firebase 尚未为此类事情提供支持。所以你需要解决一些问题。 Firebase 仅在应用处于后台时才更新数据,而不是在应用被终止时更新数据。

    或者试试这个可能会有所帮助

    Keep app running in background on Android all the time

    【讨论】:

      猜你喜欢
      • 2011-11-15
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 2013-09-19
      • 1970-01-01
      • 2021-01-02
      相关资源
      最近更新 更多