addOnCompleteListener не вызывается в автономном режиме с облачным пожарным хранилищем

Я пишу приложение, используя новую облачную базу данных firestore. Он отлично работает, за исключением того факта, что многие вещи не работают гладко в автономном режиме, хотя постоянство в автономном режиме включено. Например, я делаю следующее:

ref.delete().addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    //Do something
                } else {
                    //Do another thing
                }

            }
        });

Тем не менее onComplete метод никогда не вызывается в автономном режиме. Я хочу закрыть упражнение и показать немного Snachbar, как только это произойдет. Но, как никогда, деятельность остается открытой. Я использую андроид студийный эмулятор.

Спасибо

1 ответ

Решение

Операции, которые записывают в базу данных, определяются как сигнализирующие о завершении после того, как они фактически переданы в бэкэнд В результате это работает как задумано: в автономном режиме они не будут сигнализировать о завершении.

Обратите внимание, что клиенты Firestore внутренне гарантируют, что вы можете читать свои собственные записи, даже если вы не ждете завершения задачи от удаления.

По большей части это означает, что вам не нужно ждать завершения этой задачи. Есть ли какая-то особая причина, по которой вы заинтересованы в этом?

Другие вопросы по тегам