Когда служба была убита, как ее автоматически перезапустить?
иногда даже не позвонив onDestroy()
Когда служба была убита, как ее автоматически перезапустить?
иногда даже не позвонив onDestroy()
Я унаследовал IntentService, поэтому мне пришлось быть нежным. Это сработало для меня, когда я переопределил onStartCommand(), но
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
То есть позволить родительскому элементу делать то, что он должен, и вернуть START_STICKY.
Переопределяет 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
Если у вас убита служба, система попытается перезапустить ее позже. Прочтите дополнительную информацию.