Вопрос по java, android – что вернуть в onStartCommand для сервиса

10

Я просматривал документацию и иногдаonStartCommand() возвращаетсяSTART_NOT_STICKYиногда возвращает следующее:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    // TODO Auto-generated method stub
    return super.onStartCommand(intent, flags, startId);
}

Теперь я не понимаю, почему некоторые сервисы возвращаютсяsuper.onStartCommand(intent, flags, startId);

Ваш Ответ

2   ответа
9

Все зависит от того, что вы хотите.документация говорит:

Для обратной совместимости реализация по умолчанию вызывает onStart (Intent, int) и возвращает START_STICKY или START_STICKY_COMPATIBILITY.

Итак, возвращаясьsuper.onStartCommand() эквивалентно возвращениюSTART_STICKY, Если вам не нужно поведение по умолчанию, вы можете вернуть другую константу.

Спасибо за ваш ответ .. У меня есть один запрос .. Если я не переопределитьonStartCommand() в моем Сервисе, то по умолчанию какое значение будет возвращено? Как система будет относиться к моему Сервису для повторного запуска / остановки ?? Kushal
Я думаю, что это вернетсяSTART_STICKY CopsOnRoad
1

Наиболее часто используемые

Service.START_STICKYService.START_NOT_STICKY иService.START_REDELIVER_INTENT

Service.START_STICKY будет перезапущен, если система Android завершит работу по любой причине. Service.START_NOT_STICKY будет работать до тех пор, пока не будут выполнены ожидающие работы. Service.START_REDELIVER_INTENT аналогичен Service.START_STICKY, но исходное намерение повторно доставляется в метод onStartCommand.

Похожие вопросы