Я разрабатываю приложение, в котором я запускаю службу, если определенная функция (в моем приложении) включена пользователем. Я хочу продолжать работать с этой службой даже после того, как пользователь закроет мое приложение. Как я могу это сделать? помогите пожалуйста
Как сохранить работу службы в фоновом режиме даже после того, как пользователь закроет приложение?
Ответы (3)
Прямо с сайта developer.android.com
Служба — это компонент, работающий в фоновом режиме для выполнения длительных операций или работы для удаленных процессов. Служба не предоставляет пользовательский интерфейс. Например, служба может воспроизводить музыку в фоновом режиме, пока пользователь находится в другом приложении, или может получать данные по сети, не блокируя взаимодействие пользователя с действием. Другой компонент, например действие, может запустить службу и позволить ей работать или привязываться к ней для взаимодействия с ней. Служба реализована как подкласс службы, и вы можете узнать больше об этом в руководстве разработчика служб.
Таким образом, пока вы создаете службу и пользователь выходит из вашего приложения, она все равно будет работать. Так же, как в примере выше.
Это должно предоставить вам всю необходимую информацию: https://developer.android.com/guide/components/services.html
onCreate()
в мою службу?
- person Kairi San; 19.02.2016
вы можете использовать диспетчер тревог для любой фоновой службы.
В определенное время вы хотите выполнить что-то, что может быть услугой.
И для продолжения процесса вы можете запустить службу из диспетчера тревог.
Один из предложенных способов Android:
Запущенная служба может использовать startForeground (int, Уведомление). API для перевода службы в состояние переднего плана, когда система считает ее чем-то, о чем активно осведомлен пользователь, и, следовательно, не кандидатом на уничтожение при нехватке памяти. (По-прежнему теоретически служба может быть остановлена из-за чрезмерной нехватки памяти со стороны текущего приложения переднего плана, но на практике это не должно вызывать беспокойства.)
Другой способ - перезапустить службу, когда она остановлена (система вызовет onDestroy() для службы, которая остановлена)