作为标题,addListenerForSingleValueEvent仍会触发,但是其快照不包含任何内容。事件我在该节点上添加了新值。
详细信息:我有2个设备:A和B示例。如果两个设备都在线(具有互联网连接),则一切正常。但是真正的问题是,当我断开设备A的连接并使用设备B来添加新数据时(还将数据发送到FCM服务以触发addListenerForSingleValueEvent的onDataChange()),然后我重新连接设备A。但是我放入FCM服务中的addListenerForSingleValueEvent重新连接A时不返回任何数据(它仍然会触发但不存在快照)。为什么?
ROOT_REF.child("mChild")
.child(mID).child(uID)
.orderByKey().equalTo(Object_Id).keepSync(true);
ROOT_REF.child("mChild")
.child(mID).child(uID)
.orderByKey().equalTo(Object_Id)
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.exist()){
still fire but datasnapshot is not exist
}else {}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});