2009-11-25 17 views
7

私のアクティビティには、Activity_1で始まるバックグラウンドスレッドで進行中のものがいくつかあります。バックグラウンドスレッドの処理にはしばらく時間がかかり、完了したらAlertDialogを介してユーザーに通知したいと思います。ただし、その間にユーザーがActivity_2またはActivity_3に変更された可能性があります。また、常に現在のアクティビティでAlertDialogをポップアップ表示したいと考えています。Android:バックグラウンドスレッドからAlertDialogを呼び出す

これを実現する方法はありますか?

答えて

3

バックグラウンドスレッドでこのようなことをしました。それは動作しますが、それが「良い」解決策であるかどうかは不明です。

Looper.prepare(); 
mActivity.showDialogAlertDefault(); 
Looper.loop(); 
Looper.myLooper().quit(); 
+0

これは私のためにも機能しましたが、alertdialogが表示された後、alertdialogが出現する前に実行していたスレッドの実行を知っているようです。助言がありますか?私のコードを見たいですか? – prolink007

+0

極端な遅延を伴うコードの呼び出し。 –

0

これは、通常のバックグラウンドスレッドではなく、サービスを使用するのが適切な方法である可能性があります。あなたのバックグラウンドの作業は、一時停止またはシャットダウンの方がより弾力性があり、別のアクティビティの親を常に追跡しているAsyncTaskの作成について心配する必要はありません。

+0

「バックグラウンドスレッド」は、実際は別のサービスです。私が探しているのは、アプリケーションのどこにでも置くことができるアプリケーションのグローバルメッセージ(Dialog)です。これは、すべてのアクティビティでリスナとダイアログを実装する必要があることを意味しますか、アプリケーション全体で1つのポイントでリスナとダイアログを実行できますか?もう1つの質問は、私は何を聞いているのですか(それは意図か他の何か)ですか? – znq

関連する問題