Как автоматически перезапустить убитый сервис? - PullRequest
7 голосов
/ 12 января 2011

Когда служба была убита, как перезапустить ее автоматически?

иногда даже без звонка onDestroy()

Ответы [ 3 ]

6 голосов
/ 08 декабря 2012

Я унаследовал IntentService, поэтому я должен был быть мягким.Это сработало для меня, когда я переопределил onStartCommand (), но

public int onStartCommand(Intent intent, int flags, int startId) {
   super.onStartCommand(intent, flags, startId);
   return START_STICKY;
}

То есть позволил родителю сделать то, что он должен и вернуть START_STICKY.

3 голосов
/ 25 июня 2012

Переопределяет onStartCommand() и дает START_STICKY или START_REDELIVER_INTENT (зависит от ваших потребностей) в качестве возвращаемого значения.Затем система обязательно перезапустит ваш сервис, пока вы явно не остановите сервис.

http://developer.android.com/reference/android/app/Service.html#START_REDELIVER_INTENT

http://developer.android.com/reference/android/app/Service.html#START_STICKY

0 голосов
/ 12 января 2011

Если ваш сервис убит, система попытается перезапустить его позже. Читать Подробнее .

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