2016-12-12 4 views
0

私はAndroidが初めてで、BoundService(ローカルバインディング)について学んでいます。バインドされたサービスのonStartCommand()メソッド

サービスに接続する方法を学びましたが、この例を見るまではすべてうまくいきました。

@Override 
public int onStartCommand(Intent intent, int flags, int startId){ 

    startRandomNumberGenerator(); // a method that generates random number in a separate thread. 

} 

BoundService.java内部IはStarted ServiceBoundService別々のものではないことを理解しています。

ただし、aboutサービスはbindService(...)を使用してアクティビティから呼び出されました。

  1. 我々はbindService(...)を使用してサービスを開始した場合onStartService()メソッドが呼び出されますか?

  2. バインドされたサービスを作成する場合は、onStartCommand()メソッドをオーバーライドすることをお勧めしますか?

助けてください。前もって感謝します。

+1

あなたの 'Service'を実行するために' bindService(...) 'を使っている場合、 'onStartCommand(...)'は実質的に役に立たない(呼び出されません)。つまり、もしあなたが 'startService(...)'を使っているならば 'bindService(...)'や 'onStartCommand(...)'を使っている場合は 'onBind(...)'をオーバーライドしてください。それを一緒に使用する。 – LightYearsBehind

答えて

0

サービスをバインドすると、そのサービスはアクティビティのライフサイクルの間、引き続き実行されます。 startServiceに電話すると、サービスは渡された引数を受け取り、アクティビティのライフサイクルを超えて実行することもできます。

関連する問題