Cómo cerrar la aplicación de Android completamente

He creado una aplicación Android con una opción de cierre de sesión en onCreateOptionsMenu . El Logout funciona perfectamente, pero cuando vuelvo a presionar el botón de nuevo me lleva a la actividad anterior, y cuando obtiene un valor nulo, redirecciona a la pantalla de inicio de sesión. Ahora mi pantalla de inicio de sesión aparece una y otra vez. Quiero cerrar la aplicación completamente cuando presiono el botón de retroceso pero no sé cómo.

Aquí está mi código para manejar la pulsación de botón de regreso en la pantalla de inicio de sesión:

 @Override public void onBackPressed() { new AlertDialog.Builder(this) .setTitle("BidNEMO") .setMessage("Are you sure you want to exit?") .setNegativeButton(android.R.string.no, null) .setPositiveButton(android.R.string.yes, new OnClickListener() { public void onClick(DialogInterface arg0, int arg1) { Main.super.onBackPressed(); finish(); } }).create().show(); } 

Por favor ayuda chicos ..

Para Quit Application en el botón haga clic en utilizar este código:

 Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent); 

Intentalo..

Para matar la aplicación completa y eliminarla de la lista de aplicaciones en Running eliminar la aplicación a través de su pid (su desagradable) … utilizar estas líneas antes de código anterior.

 int pid = android.os.Process.myPid(); android.os.Process.killProcess(pid); 

Si desea cerrar completamente la aplicación debe utilizar finishAffinity(); En lugar de finish() . Se borrará toda la pila de actividades previamente abiertas por una aplicación.

Para terminar una actividad estoy usando este código:

 public void appExit () { this.finish(); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } //close method 

O matar Procesar con este código:

 int pid = android.os.Process.myPid(); android.os.Process.killProcess(pid); 

Para usuarios de Xamarin:

 int pid = Android.OS.Process.MyPid(); Android.OS.Process.KillProcess(pid); 

OnDestroy() en su función OnDestroy() .

Editar :

Después de investigar a fondo, descubrí que incluso el código anterior que escribí no "matar" la aplicación totalmente (eliminarlo del administrador de tareas – "aplicaciones recientes"). Eventualmente, después de un montón de tryouts de código, me las arreglé para averiguar algo, Anulando "Finalizar" funciones con este código:

 public override void Finish() { if (Android.OS.Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) { base.FinishAndRemoveTask(); } else { base.Finish(); } } 

Esta es la única solución para esa pregunta!

Incluso si se ve bien proceso de matar le causará dolor de cabeza en el futuro. Puede asegurarse esto siguiendo el caso de uso:

  1. Llamar a varias actividades para poblar pila de actividades
  2. Llame a android.os.Process.killProcess (pid);
  3. Abra su aplicación

OBSERVADO : Su aplicación no se abre de la actividad principal de manera inconsistente. Esto se debe a que Android considera matar el proceso como un bloqueo.

Puede encontrar información más detallada aquí: ¿Es dejar de fumar una aplicación mal vista?

 android.os.Process.killProcess(android.os.Process.myUid()); 

Creo que esto es mejor. ¿Qué tal?

  • Android - Cambiar el Botón Atrás del Botón de Navegación de ActionBar
  • Cómo manejar el dispositivo de nuevo botón en sencha touch aplicación
  • ¿Cómo volver de Unity Player a la anterior actividad de Android?
  • Android: Cómo evitar que el botón Atrás de la cancelación de un FragmentDialog
  • Android - ¿Cómo anular el botón "Atrás" para que no termine () mi actividad?
  • ¿Qué acciones realiza la tecla de retroceso / retroceso en el disparador de Android?
  • El cajón de navegación se cerrará incluso si se sobreescribe OnBackPressed ()
  • Android - limitar el número de fragmentos en backStack?
  • La notificación abre actividad, se pulsa el botón de retroceso, se abre la actividad principal?
  • Cordova / phonegap bloquear y dejar atrás el botón
  • Mostrar fragmento anterior
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.