1

私には2つの活動があります。Facebookの友達のデータとそのイベントを取得し、このすべてのデータをデータベースに保存してから、特定の情報を含むページを表示する必要があるアクティビティがありますが、これには多くの時間がかかります. したがって、これをすべて実行する前に、インテントを別のアクティビティに移動すると、アクティビティ #1 がバックグラウンドでパーサーを作成してデータベースに保存します。しかし、すべての計算が完了したら、アクティビティ #2 に通知する必要があります。これにより、いくつかの UI ボタン​​を有効にして、現在データベースに保存されているデータを表示することができます。

4

1 に答える 1

0

これらのアクティビティの両方が本当に必要な場合 (データをダウンロードするだけのタスクである場合、Activity#1 は必要ないため)、AsyncTask特定の にアタッチするように設計されているため、役に立ちませんActivity

あなたがしたいことは、ServiceAsyncTaskその中に、またはさらに良いことにIntentService)を開始することです。ジョブが終了したら、次のようなことができます。

Intent finish = new Intent(com.mypackage.intent.ACTION_DOWNLOADCOMPLETE);
sendBroadcast(finish);

Activity#2 で、このブロードキャストを で聞きますBroadcastReceiver

于 2012-09-21T07:55:10.030 に答える