Escribo un archivo de descarga de soporte del programa. Cuando estoy en esta actividad de descarga, comienzo una barra de progreso y luego ejecuto un hilo para hacer las descargas. Este hilo envía un mensaje al hilo de la interfaz de usuario para notificar cuántos se han descargado con frecuencia. En el hilo principal (IU), actualizo la barra de progreso cuando recibo el mensaje. Si ocurre algún problema en el progreso de la descarga, enviará otro mensaje. Cuando el hilo principal recibe el mensaje, detiene la barra de progreso y muestra un nuevo AlertDialog para mostrar el motivo del error.El AlertDialog es invisible cuando la actividad vuelve al primer plano
Aquí hay una prueba especial para ello. Al descargar, cambie el programa a la configuración. Apague el WIFI/GPRS para desactivar la red.
Cuando vuelvo a mi programa, debe mostrar el fondo ui y un AlertDialog emergente para mostrar el motivo como me gustaría. Pero solo muestra el fondo ui (que significa la actividad principal) y con una luz de retroiluminación igual que las ventanas emergentes aún allí. Cuando presiono hacia atrás por primera vez, no pasa nada, excepto que la luz de fondo es brillante, como si hubiera cerrado una ventana emergente.
Creo que es porque cuando inicio el AlertDialog mi actividad no está en primer plano.
He intentado utilizar:
ActivityManager am = (ActivityManager)Update.this.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;
para juzgar si la actividad de la parte superior es la mía. Pero quiero mostrar el diálogo. Si el usuario no ve la actividad, cuando vuelva a mi actividad, quiero que muestre el cuadro de diálogo.
¿Qué contexto está utilizando al crear AlertDialog.Builder? – areyling
Tengo el mismo problema. ¿Lo has resuelto? – Jim
Uso tostadas en su lugar. :( – Fakebear