Android: база данных Firebase в реальном времени обновляется после уничтожения приложения - PullRequest
0 голосов
/ 20 июня 2019

Я новичок в базе данных реального времени firebase, и у меня есть основной вопрос, на который я не могу найти ответ.

Мне нужно мое приложение для Android, чтобы отслеживать изменения в базе данных, поэтому я понимаю, что мне нужно использовать addValueEventListener с методом onDataChange. Однако будет ли вызываться метод onDataChange, даже если приложение уничтожено? Мне нужно иметь возможность доступа к изменениям информации в базе данных, даже если приложение не работает в фоновом режиме (например, пользователь принудительно покидает приложение). Это потому, что когда значения достигают определенной точки, я хочу показать всплывающее уведомление, поэтому мне нужно иметь возможность читать значения, даже когда приложение не запущено.

Если , то onDataChange вызывается, даже когда приложение находится в фоновом режиме, будет ли это расходовать заряд батареи, поскольку телефон всегда прослушивает изменения.

Извините за основной вопрос, но я не смог найти информацию.

Спасибо!

1 Ответ

1 голос
/ 21 июня 2019

... когда приложение мертво, по-прежнему ли прослушивает EventListener и будет ли вызываться onDataChange?

Прослушиватели событий активны, только когда активен контекст, в котором они запущены.Для слушателей, которых вы присоединяете к действию, это означает, что они активны во время работы приложения.Даже в этом случае Android может убить слушателей (или точнее: сокет, который они используют для связи с сервером), если пользователь не использует приложение активно.

Если вы хотите, чтобы слушатель оставался активным дольше, выдействительно может рассмотреть управление слушателями в фоновом режиме.Но даже там, Android может закрыть слушателя, чтобы сохранить время автономной работы.Об этом всегда следует помнить: если ваш вариант использования противоречит предпочтениям пользователя (и большинство пользователей, вероятно, предпочитают более длительное время автономной работы по сравнению с какой-либо конкретной функцией приложения), маловероятно, что он продолжит работать в долгосрочной перспективе.

Лучшим подходом является объединение слушателей с Firebase Cloud Messaging для отправки сообщений.Сообщения FCM с большей вероятностью (хотя и не гарантированы) доставляются, когда пользователь не использует приложение активно, и вы можете использовать их для запуска некоторого кода вашего приложения, когда они поступят.Вы захотите использовать для этого сообщения с данными FCM, так как большинство приложений доставляют фоновые обновления.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...