2014-02-21 2 views
8

Я просматривал документацию и иногда onStartCommand возвращает START_NOT_STICKY, иногда возвращает следующее:, что вернуть в onStartCommand для службы

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

Я теперь запутался, почему некоторые услуги вернуться vs. super.onStartCommand (намерение, флаги, startId);

ответ

8

Все зависит от того, что вы хотите. documentation говорит:

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

Так что возврат «super.onStartCommand» эквивалентен возврату START_STICKY. Если вы не хотите поведения по умолчанию, вы просто возвращаете другую константу.

+2

Спасибо за ваш ответ. У меня есть один запрос. Если я не переопределяю 'onStartCommand()' в моей службе, то по умолчанию какое значение будет возвращено? Как система будет обрабатывать мою Службу для повторного запуска/остановки? – Kushal

Смежные вопросы