IntentService の使用法について少し混乱しています。
- ドキュメントによると、IntentService は送信されたすべてのインテントをキューに入れ、一度に 1 つずつ処理します。
- IntentServiceのコードを調べたところ、onStartCommand()がインテントを受け取り、それをメッセージとしてインテント キューに送信するonStart()を呼び出すことがわかりました。
ドキュメントのどこかでonStartCommand()がシステムによって 1 回だけ呼び出されることを読んだことは確かです。 startService()を 2 回発行すると、2 回目の呼び出しではonStartCommand()が呼び出されません。
このドキュメントを探していたのですが、見つからないようなので、ここで間違っているかもしれません。
これは、onStartCommand() を介して IntentService で多くのインテントをキューに入れることができるという以前の概念と矛盾しています。
ここで助けが必要です。IntentService で複数のインテントをキューに入れるにはどうすればよいですか?
次の 2 つのオプションしか表示されません。
異なるインテントで毎回startService()を呼び出すだけです
onStart()またはonStartCommand( )を直接呼び出す( startService()をバイパスする)