Сделать сервис независимым от активности (Android) - PullRequest
1 голос
/ 28 марта 2010

У меня есть действие с двумя кнопками, старт и стоп. Если пользователь нажимает кнопку «Пуск», служба создается с использованием Context.startService. И кнопка остановки вызывает Context.stopService.

Я хочу, чтобы кнопка остановки была единственным способом уничтожить службу. Теперь, если я завершу действие с помощью диспетчера задач, служба также будет уничтожена. Есть ли способ избежать этого?

РЕДАКТИРОВАТЬ: Кроме того, я хотел бы знать, как менеджер задач (например, Advanced Task Manager Free) убивает деятельность и услуги? Так как ни один из моих методов onDestroy () и таких не вызывается.

Ответы [ 2 ]

1 голос
/ 29 марта 2010

Теперь, если я закончу упражнение, используя диспетчер задач, сервис убит как Что ж. Есть ли способ избежать этого?

Нет. Также имейте в виду, что пользователь может остановить ваш сервис в любое время через приложение «Настройки», встроенное в Android.

Кроме того, я хотел бы знать, как задача менеджер (например, Advanced Task Manager Бесплатно) убивает деятельность и услуги?

См. ActivityManager#restartPackage(). Имейте в виду, что поведение этого метода может измениться в будущем.

0 голосов
/ 28 марта 2010

Я должен представить, что нет способа сделать это, иначе было бы невозможно завершить службу, поскольку кнопка, которая останавливает ее, будет уничтожена. Я думаю, что все, что вы могли бы сделать, - это закрыть все остальное в упражнении, но оставить его включенным, чтобы поддерживать службу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...