Я хочу получить список пользователей, подключенных к Интернету, и установить их статус как онлайн. Я использую для этого Firebase Presence, но он работает только тогда, когда пользователь находится в приложении. Когда пользователь закрывает или сворачивает приложение, статус устанавливается как офлайн, но я хочу, чтобы статус оставался онлайн, пока у пользователя есть активное интернет-соединение.
Примечание. Я использую Android 8.0 и знаю об ограниченных фоновых службах.
Как я могу этого добиться? Спасибо.
Android может убить процесс приложения, когда оно больше не используется. Это то, чего вы должны ожидать. Когда это произойдет, Firebase, очевидно, потеряет соединение, и приложение будет считаться автономным.
Единственный способ продлить жизнь вашего процесса - запустить в вашем приложении службу переднего плана, которая будет оставаться активной на неопределенный срок. Даже в этом случае Android может убить ваше приложение, чтобы освободить место для приложений, видимых на экране. Невозможно гарантировать, что процесс вашего приложения никогда не будет остановлен из-за чего-то более важного для конечного пользователя.
Пожалуйста, внимательно прочтите эту документацию, чтобы понять, как Android определяет приоритеты приложений. Также прочтите документацию для Service.startForeground ().
Неважно, что актуально или нет. Это правило, которое вы должны соблюдать при разработке Android.
Спасибо за ваш ответ, я также знаю о Service.startForeground (), но проблема в том, что с ним должно быть уведомление, и я не считаю, что уместно показывать пользователю уведомление о службе, которая сохраняет его статус как онлайн ...