Runnable から AsyncTask を実行することは可能ですか? 私の経験では、それは可能ですが、安全ではありません。私のアプリが最初に実行されると、Runnable から AsyncTask が正常に実行されます。しかし、アプリがバックグラウンドに移動されてから前に戻されると、「Looper.prepare() を呼び出していないスレッド内でハンドラーを作成できません」というメッセージが表示されます。
これが私がやろうとしていることです: 私は MapView を使用し、onCreate 内で runOnFirstFix(Runnable) を呼び出しています。私の Runnable は AsyncTask を呼び出して、場所に基づいてデータを返す Web サービス呼び出しを実行します。アプリをバックグラウンドに移動し (ホーム ボタンをタップして)、しばらくしてからアプリを再び前に出し、AsyncTask で execute() を呼び出している時点で例外を受け取ります。
まず、runOnFirstFix が再度実行されるのはなぜですか。第二に、なぜ2回目に例外が発生するのですか? 私が理解していないライフサイクルの一部があると思います。
ありがとう。