J'ai écrit une application en utilisant la nouvelle base de données cloud firestore. Cela fonctionne très bien, sauf le fait que beaucoup de choses ne fonctionnent pas correctement en mode hors connexion bien que la persistance hors ligne soit activée. Par exemple, je procédez comme suit:addOnCompleteListener pas appelé hors ligne avec cloud firestore
ref.delete().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
//Do something
} else {
//Do another thing
}
}
});
Cependant la méthode onComplete
est jamais appelé en mode hors connexion. Je veux fermer l'activité et montrer du Snachbar une fois que cela arrive. Mais comme il ne le fait jamais, l'activité reste ouverte. J'utilise un émulateur de studio Android.
Merci
Salut @ Gilbert Gilbert. Je n'étais pas au courant que l'achèvement était destiné au backend. Je vais ajuster mon code. Merci. – edmond
La même chose s'applique-t-elle à onSuccess et à Failure? – 34m0
Oui. Aucun gestionnaire d'achèvement, de réussite ou d'échec ne sera appelé jusqu'à la fin de la tâche. La tâche ne se termine pas tant que l'écriture n'est pas validée dans le backend. –