Должен ли OnStart работать, если вы остановили службу во время OnCreate? - PullRequest
2 голосов
/ 18 октября 2011

Из моего понимания жизненного цикла приложения (включая службы) оно должно идти onCreate> onStart> onResume.

Исходя из этого понимания, если вы выключаете цикл с помощью this.stopSelf () в onCreate, он никогда не должен запускать onStart.

    @Override
public void onCreate()
{
    super.onCreate();
    Log.i(TAG, "Service starting");
    this.stopSelf();
}
@Override
public void onStart(Intent intent, int startId) 
{
    super.onStart(intent, startId);
    Log.i(TAG, "onStart Service");
}

Я ожидаю, что журнал onStart не будет запущен. Однако LogCat ясно показывает, что onStart по-прежнему работает, несмотря на то, что служба завершается в onCreate.

Этого и следовало ожидать? Почему это?

1 Ответ

3 голосов
/ 18 октября 2011

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

...