断开回调时的Firebase

时间:2015-10-05 08:25:57

标签: android firebase

是否可以在Disconnect上的Firebase中添加回调方法,以便在用户离线时用于执行某些操作而不是Firebase

.onDisconnect().setValue(Boolean.FALSE);

可以在调用onDisconnect时更新firebase中的值,是否可以在此事件上调用用户定义的方法?

2 个答案:

答案 0 :(得分:3)

当用户断开连接时, 可以更新Firebase数据库中的值。见https://www.firebase.com/docs/android/guide/offline-capabilities.html#section-presence

但由于这些onDisconnect()处理程序在Firebase服务器上运行,因此可以 来调用用户定义的函数。如果您想要在Android应用中检测到它已失去与Firebase服务器的连接时运行某些代码,则可以运行在线系统:https://www.firebase.com/docs/android/guide/offline-capabilities.html#section-connection-state

答案 1 :(得分:1)

这适合我!

DBManager.mOnlineRef.child(currentUserID).setValue(currentUserEmail);
DBManager.mOnlineRef.child(currentUserID).onDisconnect().removeValue(new  DatabaseReference.CompletionListener() {
            @Override
            public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
                Log.e(TAG, "Should be removed");
            }
});