は、私は次のコードをお持ちの場合:このコードではサービスを複数回起動するとどうなりますか?
Intent intent = new Intent(this,DownloadService.class);
for(int i=0;i<filesArray.length;i++){
startService(intent);
}
をDownloadService
IntentService
を拡張します。だから、
今私はそれは私が毎回startService(intent)
が呼ばれる新しいサービスを始めているか、それはDownloadService
が一度に実行されていることを意味し、その後、私は呼び出すたびにstartService(intent)
それだけで異なるに合格することを意味していstartService(intent)
を呼んでいるとき別のstartIdでインテントします。
これは意味がありますか、どちらが当てはまりますか?
ありがとうございました。 「startService()メソッドはすぐに戻り、AndroidシステムはサービスのonStartCommand()メソッドを呼び出します。サービスがまだ実行されていない場合、システムは最初にonCreate()を呼び出し、次にonStartCommand()を呼び出します。したがって、サービスが既に実行されている場合、システムはonCreate()メソッドをスキップし、onStartCommand()のみを呼び出すか、何を呼び出すのでしょうか? – bytebiscuit
私は本当に知っていませんが、それが本当であると確信しています(サービスがすでに作成されている場合は 'onCreate()'を呼び出さないようにしましょう)。両方のコールバックに 'Log.i()'を入れてLogCatをチェックするのは簡単です。 –
ちょうどやった...と不思議にも、最後のstartService()コールの後にonCreateを開始します!!! – bytebiscuit