当设备上线时Firebase实时数据库同步,但是应用程序没有打开?

时间:2017-12-08 11:42:00

标签: android firebase firebase-realtime-database

我正在尝试使用Firebase实时数据库。我创建了一个节点:1:,因为我创建了一个节点users。 JSON就像下面的那个

user_1

我已启用离线持久性&为该特定节点{ "user_1" : { "firstName" : "User", "lastName" : "Last", "middleName" : "S" } } 启用了同步。

user_1

首先,我打开了App&同步FirebaseDatabase.getInstance().setPersistenceEnabled(true); FirebaseDatabase.getInstance().getReference().child("users").child("user_1").keepSynced(true); 数据。然后我杀了应用程序,但设备仍然连接到互联网。我对Firebase控制台中的user_1节点进行了更改。过了一段时间,我已经断开了互联网。我再次打开了应用程序,听取了该节点user_1。但离线数据未与Firebase Server的最新数据同步。这是否意味着,user_1仅在应用程序处于前景时才起作用?

1 个答案:

答案 0 :(得分:1)

当您致电keepSynced(true)时,Firebase实时数据库客户端会在您的应用处于活动状态时同步该位置的数据。

如果您强制终止该应用,则客户端将不再处于活动状态,并且将不再同步。

当你的背部进入后台时,它可能会继续同步一段时间。是否这样做以及持续多长时间取决于Android版本和设备制造商。鉴于他们努力减少后台数据的使用(以延长电池寿命),我建议不要依赖它。

相关问题