と の 2 つの異なる実装がありAsyncTaskます。AT1AT2
AT1が最初に実行され、次にAT2が実行されます。500 ミリ秒ごとにこのデータをポーリングして、タスクが完了するまでAT1待機します。しかし、これは決して起こりません。doInBackgroundAT2
だから私が基本的に欲しいのはこれです:


しかし、何が起こっているように見えるかというと、次
のようにAT1なりAT2ます。
AsyncTaskこれら 2 つの s を 2 つの別々のスレッドで強制的に実行する方法はありますか、それとも別の解決策がありますか?
最初に起動AT2してから実行することはできませんAT1。
編集
明確にするために:AT1ユーザーが特定の画面を開いたときに実行され、場所に基づいてその画面のデータをダウンロードする必要があります。AT2場所の変更時に実行され、それが発生すると、UI スレッドでは実行できないいくつかの計算が行われます。
AT2一度も実行されていない場合AT1、データをダウンロードする場所がないためAT2、完了するまで待機する必要があります。が実行されると、位置データAT2 はすでにそこにあるAT1ため、待機する必要はありません。
また、この回答が示唆するように、この問題は Android 2.3 ではなく ICS で発生します。