2

アプリケーションのライフサイクル(サービスを含む)についての私の理解から、onCreate>onStart>onResumeに進む必要があります。

この理解に基づいて、onCreateでthis.stopSelf()を使用してサイクルをシャットダウンした場合、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は、onCreateでサービスが終了しているにもかかわらず、onStartが引き続き実行されていることを明確に示しています。

これは予想されることですか?どうしてこれなの?

4

1 に答える 1

3

これは、サービスを開始/作成したインテントを提供する必要があるため、サービスライフサイクルの一部です。onStart()ただし、このメソッドは非推奨になり、に置き換えられているため、使用することはお勧めしませんonStartCommand()

于 2011-10-17T20:52:16.080 に答える