Подтвердить что ты не робот

Как сохранить работу службы в фоновом режиме даже после выхода из приложения?

Я разрабатываю приложение, в котором я запускаю службу, если пользовательская функция (в моем приложении) включена. Я хочу продолжать эту службу даже после выхода из приложения. Как я могу это сделать? Помощь plz

4b9b3361

Ответ 1

Прямо с сайта developer.android.com

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

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

Это должно предоставить вам всю необходимую информацию: https://developer.android.com/guide/components/services.html

Ответ 2

вы можете использовать диспетчер аварийных сигналов для любого фонового сервиса.

Для определенного времени вы хотите выполнить что-то, что может быть полезным.

И для продолжения процесса вы можете запустить службу из диспетчера аварийных сообщений.

Ответ 3

Один из предложенных андроидов:

В запущенном сервисе можно использовать startForeground (int, Notification). API, чтобы поставить службу в состояние переднего плана, где система считает, что это то, что пользователь активно осознает и, следовательно, не является кандидатом на убийство при низком уровне памяти. (Теоретически возможно, чтобы служба была убита при экстремальном давлении памяти из текущего приложения переднего плана, но на практике это не должно вызывать беспокойства.)

Другим способом является перезапуск службы при ее остановке (система будет вызывать onDestroy() при обслуживании, которая остановлена)