Firebase onChildAdded()事件有时/空闲时间后未触发
问题描述:
我开发了使用Google地图和Firebase数据库的应用程序。在地图上长按,我将LatLng保存在Firebase DB中;Firebase onChildAdded()事件有时/空闲时间后未触发
// code to save latlng to DB
mMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
@Override
public void onMapLongClick(LatLng latLng) {
mDatabaseReference.push().setValue(latLng);
}
});
这会导致Firebase触发器通知通过onChildAdded()添加了一个子事件。
if (mChildEventListener == null) {
mChildEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String key = dataSnapshot.getKey();
Log.i(TAG, "onChildAdded " + s + " @ " + key);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
String key = dataSnapshot.getKey();
Log.i(TAG, "onChildChanged " + s + " @ " + dataSnapshot.getKey());
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
String key = dataSnapshot.getKey();
Log.i(TAG, "onChildRemoved " + dataSnapshot.getKey());
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
String key = dataSnapshot.getKey();
Log.i(TAG, "onChildMoved " + s + " @ " + key);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.i(TAG, "onCancelled " + databaseError.getDetails());
}
};
mDatabaseReference.addChildEventListener(mChildEventListener);
}
所有预期的代码工作正常。不过,我注意到,在一段空闲时间后,应用程序未收到子侦听器事件(onChildAdded,onChildChanged等)。在地图上长按,latlng坐标将保存到我正在使用控制台监视的Firebase数据库中。 有没有人遇到过这样的问题?我错过了什么吗?
我目前已授予公开访问数据库的初始开发目的。 – Sameer