私には2つの活動があります。Facebookの友達のデータとそのイベントを取得し、このすべてのデータをデータベースに保存してから、特定の情報を含むページを表示する必要があるアクティビティがありますが、これには多くの時間がかかります. したがって、これをすべて実行する前に、インテントを別のアクティビティに移動すると、アクティビティ #1 がバックグラウンドでパーサーを作成してデータベースに保存します。しかし、すべての計算が完了したら、アクティビティ #2 に通知する必要があります。これにより、いくつかの UI ボタンを有効にして、現在データベースに保存されているデータを表示することができます。
質問する
112 次
1 に答える
0
これらのアクティビティの両方が本当に必要な場合 (データをダウンロードするだけのタスクである場合、Activity#1 は必要ないため)、AsyncTask
特定の にアタッチするように設計されているため、役に立ちませんActivity
。
あなたがしたいことは、Service
(AsyncTask
その中に、またはさらに良いことにIntentService
)を開始することです。ジョブが終了したら、次のようなことができます。
Intent finish = new Intent(com.mypackage.intent.ACTION_DOWNLOADCOMPLETE);
sendBroadcast(finish);
Activity#2 で、このブロードキャストを で聞きますBroadcastReceiver
。
于 2012-09-21T07:55:10.030 に答える