2009-11-25 2 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, который постоянно отслеживает другой родитель Activity.

+0

Мой «фоновый поток» на самом деле является отдельным сервисом. Тем не менее, я ищу глобальное сообщение приложения (Dialog), которое может быть создано в любом месте приложения. Означает ли это, что я должен реализовать Listener и Dialog в каждом действии, или я могу сделать это в одной точке для всего приложения. Другой вопрос: что я слушаю (это намерение или что-то еще)? – znq

Смежные вопросы