首页 > 解决方案 > Firebase 实时数据库:如何停止离线写入?(最佳方法)

问题描述

目前,为了防止从离线返回后写入 Firebase,我会在每次写入操作之前检查互联网连接。我所说的不仅仅是检查网络连接,还包括是否有实际的互联网访问可用。我 ping google.com 以找出答案。

我认为这不是最好的方法。

那么,当没有可用的互联网连接时,告诉 Firebase 不要缓存任何写入操作并预览一个简单的“没有可用的互联网连接”消息的最佳做法是什么?

标签: javaandroidfirebasefirebase-realtime-database

解决方案


如果您真的必须让您的应用程序在用户设备暂时失去连接时无法使用,您将不得不将监听器添加到一个名为/.info/connected. 它会在 SDK 认为它已失去连接时告诉您。这在文档中有所描述。当您的侦听器收到这样的通知时,您必须编写代码以使您的应用程序按照您想要的方式运行。

但是,您的应用程序可能仍然在从连接停止到 SDK 决定连接实际消失之前的时间内写入数据。这些写入仍将同步。

最好让您的应用程序可以离线使用,并在他们的数据由于离线而尚未同步时通知用户。


推荐阅读