Наличие Firebase в фоновом режиме Android

Я хочу получить список пользователей, подключенных к Интернету, и установить их статус как онлайн. Я использую для этого Firebase Presence, но он работает только тогда, когда пользователь находится в приложении. Когда пользователь закрывает или сворачивает приложение, статус устанавливается как офлайн, но я хочу, чтобы статус оставался онлайн, пока у пользователя есть активное интернет-соединение.

Примечание. Я использую Android 8.0 и знаю об ограниченных фоновых службах.

Как я могу этого добиться? Спасибо.

0
0
186
1

Ответы 1

Android может убить процесс приложения, когда оно больше не используется. Это то, чего вы должны ожидать. Когда это произойдет, Firebase, очевидно, потеряет соединение, и приложение будет считаться автономным.

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

Пожалуйста, внимательно прочтите эту документацию, чтобы понять, как Android определяет приоритеты приложений. Также прочтите документацию для Service.startForeground ().

Спасибо за ваш ответ, я также знаю о Service.startForeground (), но проблема в том, что с ним должно быть уведомление, и я не считаю, что уместно показывать пользователю уведомление о службе, которая сохраняет его статус как онлайн ...

atish.s 18.03.2018 13:06

Неважно, что актуально или нет. Это правило, которое вы должны соблюдать при разработке Android.

Doug Stevenson 18.03.2018 17:39

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