Cómo deshabilitar el botón de retroceso cuando el cuadro de alerta está en la pantalla

Utilicé la función onKeyDown en la actividad ….. pero al pulsar el botón de nuevo se hace clic primero cancela el cuadro de diálogo y va a nuestra actividad … Quiero tanto o la actividad y el cuadro de diálogo cerrado al hacer clic en el botón de nuevo o desactivar El botón de retroceso cuando se muestra el cuadro de diálogo …

Cualquiera puede sugerir cualquier solución para esto ….

Gracias por adelantado,


Actualizar

Hola Gracias por su respuesta. El progressDialog con .setCancelable(false); Está funcionando bien.

Pero aquí quiero otra cosa. Cuando el diálogo de progreso está en ejecución, entonces presionaré la tecla BACK y quiero mostrar un cuadro de diálogo de alerta para que el usuario pueda notificar que el progreso se está ejecutando.

¿Hay alguna solución al respecto?

Por favor, ayúdame.

Gracias por adelantado.

¿Has intentado establecer su propiedad setCancelable() a false

Algo como esto

 progressDialog.setCancelable(false); 

Puede ser esto le ayudará en su caso:

 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // Show your Alert Box here } return false; } 

Sólo quiero mejorar @MoJo respuesta

 alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { //Your handler return false; } }); 

Personalmente, una solución más limpia era terminar la LoginActivity antes de iniciar la intención en lugar de establecer Banderas en el paquete de la nueva actividad o sobrepasar cualquier método. Intente algo como esto abajo donde Login es su actividad de inicio de sesión y Home es la primera actividad después de iniciar sesión con éxito en el usuario.

 finish(); Intent intent = new Intent(Login.this, Home.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); 

"Quiero que tanto la actividad como el cuadro de diálogo estén cerrados"

 dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { finish(); return true; } }); 

"O desactivar el botón de retroceso cuando se muestra el cuadro de diálogo" Esto puede bloquear volver desde el diálogo. Al crearlo dinámicamente, agregue:

 dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { return true; } }); 

Devolver true es impedir que este diálogo se cierre y no se puede cerrar pulsando. También sugiero agregar:

 dialog.setCanceledOnTouchOutside(false); 

Lo que evitará que el usuario descarte el diálogo haciendo clic fuera de él.

  • Colocación de un diálogo en la pantalla
  • No puedo mostrar la lista en un diálogo con setMultiChoiceItems en Android
  • Cómo cerrar / cancelar / descartar un Diálogo del sistema de forma programática (Android)
  • Interrumpe el diálogo enBackPressed ()?
  • El cuadro de diálogo no muestra el botón positivo y negativo
  • GetOwnerActivity devuelve nulo en el diálogo personalizado
  • Android desactivar el botón positivo en algunos condion en addTextChangedListener (editext)
  • Diálogo personalizado de Android
  • Onclick Listener para el botón Aceptar
  • Cómo averiguar el ancho de cuadro de diálogo personalizado y altura en tiempo de ejecución android
  • Android hace que el cuadro de diálogo esté completo con la barra de estado mostrando
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.