Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当没有使用firebase的internet连接时,如何获取对手用户的联机/脱机状态_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 当没有使用firebase的internet连接时,如何获取对手用户的联机/脱机状态

Java 当没有使用firebase的internet连接时,如何获取对手用户的联机/脱机状态,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我正在使用Firebase开发聊天应用程序,我需要与我聊天的用户的在线、离线和最后看到的状态。当用户连接到internet时,我将获得此状态,当用户没有internet时,它将不会在Firebase中更新,并且仍然向脱机用户显示联机状态 当没有互联网连接时,如何立即更新Firebase数据库 当没有互联网连接时,如何立即更新firebase数据库 脱机时无法更新Firebase数据库。当用户的设备上没有互联网连接时,这意味着用户无法访问Firebase服务器,换句话说,不会对Firbease服务

我正在使用Firebase开发聊天应用程序,我需要与我聊天的用户的在线、离线和最后看到的状态。当用户连接到internet时,我将获得此状态,当用户没有internet时,它将不会在Firebase中更新,并且仍然向脱机用户显示联机状态

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

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

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

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


还有一个,我几分钟前已经回答了这个问题,我想您可能会感兴趣。

尝试定期向firebase添加两个用户的时间戳。。如果连接断开,则显示上次激活的时间。。因此,在两侧检查时间戳差异。如果大于某个值,则显示为一个用户处于脱机状态。。确保双方都使用GMT时间作为标准时间

,那么我如何知道与我聊天的用户是在线还是离线?当没有互联网连接时,whats应用程序或其他聊天应用程序如何跟踪其他用户是否离线。如本文所述。一旦用户重新获得internet连接,将用户的属性从
isOnline:false
更改为
isOnline:true
,反之亦然,对吗?与我上面解释的方法完全相同。我使用相同的方法在firebase数据库中保存用户的联机或脱机状态。但正如您在上面解释的,当没有互联网连接时,我们无法更新firebase。因此,我如何知道我正在聊天的用户当前处于脱机状态。当用户连接到internet时,它会将“isOnline”更新为true;当我失去internet连接时,它会将“isOnline”保持为true,而不是将其更新为“false”。要更新firebase数据库,我们必须使用on Disconnect()方法,更新数据需要几分钟。