Я устанавливаю автономное сохранение
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
как описано в более раннем сообщении, но следующий прецедент не выполняется:
- Включите подключение к Интернету на трубке
- Попытка записи в БД
- Убейте приложение из памяти с помощью многозадачного меню пользователей в ОС
- Включите подключение к Интернету обратно.
- Перезапустите приложение. В этот момент я ожидаю, что новая запись с шага 2 будет отправлена в БД через восстановленную сетевую связь, но этого не произойдет. (Являются ли мои ожидания правильными?)
Пример кода:
static{
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
void updateValue(){
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference("mydb");
dbRef.keepSynced(true);
dbRef.setValue("123");
}
Обратите внимание, что если я не убиваю приложение из памяти, кеширование работает:
- Включите подключение к Интернету на трубке
- Попытка записи в БД
- Включите подключение к Интернету обратно.
- Новая запись отправляется в БД после восстановления сетевого подключения.