Android 非同期で複数の処理
【やりたいこと】
Android にて非同期で複数の処理をしようと考えています。
処理 A, B, C... があり、全ての処理が終わったところで UI側にreceiver.sendしたいです。
【やってみたこと】
Activityから X_IntentServiceを呼び、
そこから A_IntentService, B_IntentService というように複数の処理を行い、
全て終わったところで X_IntentServiceから receiver.send()
しようとしたら
A,Bなど各IntentServiceにて receiver.send()した時に以下のExceptionになってしまいます。
java.lang.RuntimeException: Handler (android.os.Handler) {656e5a68} sending message to a Handler on a dead thread
そもそもIntentService
から IntentService
は呼べない仕組みなのでしょうか?
A_IntentServiceから receiver.send() した時には X_IntentService の処理がすでに終わってる、ということでしょうか。
また、こう言ったケースのベストプラクティスはありますか?