IntentServiceの使い方について少し混乱しています。Android IntentServiceに複数のインテントをキューイングする方法
- ドキュメントによると、IntentServiceは送信されたすべてのインテントをキューに入れ、一度に1つずつ処理します。意図は
が、私はかなり確信しているキューにメッセージとして送信ONSTART()を呼び出し、
私はここで間違っているかもしれません。私はこのドキュメントを探していて、見つけられないようです。
これは、onStartCommand()を介してIntentServiceに多くのインテントをキューイングできるという前の概念と矛盾します。
ここで助けが必要ですが、IntentServiceに複数のインテントをキューイングするにはどうすればよいですか?
私は2つだけのオプションを参照してください。をバイパス
だけ異なる意図で毎回STARTSERVICE()を呼び出す
コールを直接ONSTART()またはonStartCommand()を( startService())
IntentServiceのコード(私の質問のリンクを参照してください)によると、ハンドラがそれを行うことができるのは、onHandleIntent()を直接呼び出すことは不可能であることがわかります。システムは、onStart()またはonStartCommand()のいずれかを呼び出さなければなりません。 – ilomambo
はい、それは正しいです。あなたがする必要があるのは、 'startService()'を呼び出して、サービス内で 'onHandleIntent()'を実装することだけです。システムは、実際にサービスを開始する方法と時期を決めることを含め、他のすべてのことを行います。 –
Sidenote:これは、* onStart()*をオーバーライドしてインテントのキューイングを傍受できることを意味しますか? (* onStart()*はAPIとして推奨されていないので、原則としてそれは悪いと思う?) – ilomambo