En utilisant firebase, j'ai ajouté un écouteur au nœud "mReference" qui peut changer de valeur à tout moment. Lorsque mon application est ouverte ou récemment fermée, l'écouteur fonctionne. Si l'application a été fermée pendant une longue période (~ jours), onDataChange de l'écouteur ne se déclenche pas. Les écouteurs de base de données Firebase se détachent-ils automatiquement après un certain temps ou à cause d'un événement spécifique?Est-ce que le programme d'écoute Firebase Database se détache automatiquement et quelles en sont les causes?
ValueEventListener listener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Map map = dataSnapshot.getValue();
// ...
}
@Override
public void onCancelled(DatabaseError databaseError) {
// ...
}
};
mReference.addValueEventListener(listener);
Les récepteurs ne sont jamais automatiquement détachés par le client Firebase. Ma première supposition est que Android ferme le socket. La seule façon de déterminer si cela se produit réellement est de parcourir la sortie logcat, éventuellement après avoir activé la journalisation du débogage pour le client Firebase. (Https://firebase.google.com/docs/reference/android/com /google/firebase/database/FirebaseDatabase.html#setLogLevel(com.google.firebase.database.Logger.Level)). –