2011-10-17 17 views
2

アプリケーションのライフサイクル(サービスを含む)を理解してから、onCreate> onStart> onResumeに進む必要があります。onCreate中にサービスを停止してもonStartを実行する必要がありますか?

このように、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が実行されていることを明確に示しています。

これは期待されますか?どうしてこれなの?

答えて

3

サービスの開始/作成の意図を提供する必要があるため、Service lifecycleの一部です。私はonStart()を使用することをお勧めしませんが、その方法はdeprecatedであり、onStartCommand()で置き換えられます。

関連する問題