首页 > 解决方案 > 当没有使用firebase的互联网连接时如何获取对手用户的在线/离线状态

问题描述

我正在使用 Firebase开发聊天应用程序,我需要与我聊天的用户的在线、离线和最后一次看到的状态。当用户连接到互联网时,我会得到这个状态,当用户没有互联网时,它不会在 Firebase 中更新,它仍然向离线用户显示在线。

没有互联网连接时如何立即更新 Firebase 数据库?

标签: javaandroidfirebasefirebase-realtime-database

解决方案


没有互联网连接时如何立即更新firebase数据库?

离线时无法更新 Firebase 数据库。当用户设备上没有互联网连接时,这意味着用户无法访问 Firebase 服务器,换句话说,Firbease 服务器上不会进行任何更改,但是,如果您使用以下代码行:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

这意味着即使您处于离线状态,您也可以查询数据库。发生这种情况是因为 Firebase 创建了数据库的本地副本。在您离线时所做的每项更改都会在您重新上线后在 Firebase 服务器上更新。更清楚地说,每个使用 Firebase 数据库并使用的客户端都setPersistenceEnabled(true)维护着自己的内部(本地)版本的数据库。更新数据时,首先将其写入此本地版本的数据库。

还有一个帖子我在几分钟前已经回答过了,我想你可能会感兴趣。


推荐阅读