后台服务的Firebase数据库更新

ATO*_*ATO 15 android firebase firebase-realtime-database

当我在Android应用程序中使用从后台服务更新Firebase数据库时,我看到了一种非常奇怪的行为.仅供参考我将SetPersistanceEnabled设置为TRUE.我的Java API版本是2.5.0+.

以下是发生的事情:

我有一个以STICKY开头的后台服务.此服务接收GCM,收到这些消息后,我会对Firebase数据库进行一些更新.当应用程序在前台运行时,更新工作完全正常但是一旦应用程序被杀死,更新就不会在线反映回DB.

我可以确认当应用程序被杀死时服务重新启动,并且当GCM到达时Firebase UpdateChildren的CompletionListener被调用而没有错误,这意味着数据已被持久化(我可以根据在控制台上打印的日志语句来确认这一点).但后来为什么我没有在网上看到更新.我认为因为持久性已启用它可能会在应用程序再次联机时将其同步回来但是在重新启动应用程序并在前台运行它后仍然没有我仍然看不到更新已同步到数据库.

有没有人遇到过类似的问题.如果我做错了,请告诉我.

顺便说一下,我没有在应用程序的任何地方使用goOnline或goOffline.

Mar*_*ler 0

这是FCM,不是GCM……如果缺少该Context对象,可能无法实例化所需的对象。只需更新服务器端的记录 - 然后在下次同步时更新本地版本。