Android :: Что нужно сделать, чтобы разрешить принудительное уничтожение сервиса - PullRequest
1 голос
/ 07 февраля 2011

Служба работает в фоновом режиме, а уведомление отображается в графическом интерфейсе.Когда я принудительно закрываю приложение => управлять приложением, моя служба, приложение и значок в панели уведомлений отключаются.

Но когда я убиваю свое приложение через приложение TaskKiller, моя служба останавливается, а затем Android OS перезапускает службу (я вижу из logcat), и значок в моей области уведомлений остается.пока моя фоновая работа (о загрузке изображения) закрыта.

Я возвращаю START_STICKY (также пытался с флагом STArT_NOT_STICKY) из OnStartCommand (), но не повезло.Моя работа с графическим интерфейсом, привязка к сервису через Context.BIND_AUTO_CREATE, это из-за этого флага?

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

Решение

решило эту проблему с помощью флага в намерении, переданного Сервису при запуске из действия.Когда ОС перезапускает сервис после сбоя / убийцы задач, Сервис получает нулевое намерение

1 Ответ

1 голос
/ 07 февраля 2011

Мой первый вопрос: почему вы хотите, чтобы ваш сервис был убит таскллером? или, другими словами, почему вам нужно убить свой сервис с помощью TaskKiller? у вас должно быть намерение запускать ваш сервис только до тех пор, пока он вам нужен, а затем отключить его в нужное время с помощью stopSelf (), stopService () или stopForeground () (вам потребуется один из них, в зависимости от того, как вы начали это и как ты хочешь это остановить). но я не могу дать вам совет, как это сделать, если я не знаю, что вы на самом деле делаете.

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

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