AlertDialog невидим, когда Activity возвращается на передний план

Я пишу файл для загрузки поддержки программы. Находясь в этой загрузке, я запускаю индикатор выполнения, а затем запускаю поток, чтобы выполнить загрузку. Этот поток отправляет сообщение потоку пользовательского интерфейса, чтобы уведомить, сколько из них было загружено часто. В основном потоке (UI) я обновляю отображение индикатора выполнения при получении сообщения. Если в процессе загрузки возникнут какие-либо проблемы, будет отправлено другое сообщение. Когда основной поток получает сообщение, он останавливает индикатор выполнения и открывает новый AlertDialog, чтобы показать причину ошибки.

Вот специальный тест для этого. При загрузке переключите программу в настройки. Выключите WIFI / GPRS, чтобы отключить сеть.

Когда я вернусь к своей программе, она должна отобразить фоновый интерфейс и всплывающее окно AlertDialog, чтобы показать причину, как я хочу. Но он отображает только фоновый интерфейс (что означает основное действие) и с полусветовой подсветкой, как и всплывающие окна. Когда я нажимаю назад в первый раз, ничего не происходит, за исключением яркой подсветки, как если бы я закрыл всплывающее окно.

Я думаю, что это может быть потому, что когда я запускаю AlertDialog, моя активность не находится на переднем плане.

Я пытался использовать:

ActivityManager am = (ActivityManager)Update.this.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;

, чтобы определить, является ли наибольшее действие моим. Но я хочу показать диалог. Если пользователь не видит действия, когда он вернется к моему действию, я хочу, чтобы он отображал диалог.

6
задан Fakebear 10 June 2011 в 08:14
поделиться