firebase를 사용하여 언제든지 값을 변경할 수있는 "mReference"노드에 리스너를 추가했습니다. 내 앱이 열렸거나 최근에 닫힌 경우 리스너가 작동합니다. 앱이 오랜 기간 (~ 일) 동안 닫히면 리스너의 onDataChange가 실행되지 않습니다. Firebase 데이터베이스 리스너는 일정 시간이지나거나 특정 이벤트로 인해 자동으로 분리됩니까?Firebase 데이터베이스 리스너가 자동으로 분리되며 그 원인은 무엇입니까?
ValueEventListener listener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Map map = dataSnapshot.getValue();
// ...
}
@Override
public void onCancelled(DatabaseError databaseError) {
// ...
}
};
mReference.addValueEventListener(listener);
리스너는 Firebase 클라이언트에 의해 자동으로 분리되지 않습니다. 내 첫 번째 추측은 안드로이드 소켓을 닫는 것입니다. 그게 실제로 발생하는지 알아내는 유일한 방법은 logcat 출력을 조사하는 것입니다. [Firebase 클라이언트에 대한 디버그 로깅 사용] (https://firebase.google.com/docs/reference/android/com) /google/firebase/database/FirebaseDatabase.html#setLogLevel(com.google.firebase.database.Logger.Level)). –