Я работаю над приложением, которое во время загрузки запускает действие, которое входит в систему на моем сервере (требуется действие для входа через facebook) с помощью службы (инициируемой с помощью startService). Этот сервис устанавливает прослушиватели XMPP и после этого ничего не делает, просто ждет подключения. Я хочу, чтобы эта служба работала все время, пока устройство включено.
Проблема в том, что активность прекращается через некоторое время, и мой сервис также останавливается. Служба возвращает START_STICKY, поэтому я ожидал, что она будет зависать. Также служба ничего не делает, кроме ожидания подключения.
Активность имеет свойства: android:excludeFromRecents="true" android:noHistory="true" android:launchMode="singleInstance"
чтобы он не отображался в списке задач (когда пользователь долго нажимает кнопку «Домой»).
Действие останавливается, когда пользователь долго нажимает кнопку «Домой», и служба также завершается. Я думаю, что возможно, что приложение завершилось, поэтому служба также заканчивается. Я не мог найти способ предотвратить остановку активности. Возможно, его остановка из-за вышеуказанных свойств.
Итак, что я могу сделать, чтобы служба работала все время. Как я могу сделать так, чтобы приложение не было удалено. Я где-то читал, что если я оставлю цикл while в службе, то START_STICKY сможет сохранить службу?? Я могу использовать AlarmManager для запуска службы, но я не хочу, чтобы она легко останавливалась, а затем каждый раз приходилось перезапускать ее.
Я не хочу запускать службу переднего плана. Я не могу запустить службу в другом процессе, так как использую существующий код, который не выполняет IPC. Любая помощь будет оценена. Спасибо.