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:
- Botón Atrás cerrar la aplicación incluso cuando se utiliza FragmentTransaction.addToBackStack ()
- ¿Cómo evitar volver a la configuración de inicio de sesión pulsando el botón / tecla de regreso?
- No se puede capturar el evento del botón Volver de Android
- Cómo evitar llamar a onCreateView cuando el botón de nuevo presionado en el fragmento en android
- Botón de retroceso de Android y MediaController
@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 ..
- Javascript backbutton evento oyente anula el dispositivo Android botón de nuevo
- Android - Deshabilitar el botón Atrás del dispositivo
- Uso de onResume () para actualizar la actividad
- ¿Cómo evitar que Android cierre la aplicación web cuando se pulsa el botón retroactivo?
- ¿Por qué una llamada a finish () hace que onCreate () sea llamado, iniciando una nueva Activity?
- ¿Cómo puedo actualizar una actividad anterior después de pulsar el botón de retroceso?
- Salidas de aplicación en el botón de presintonización dentro de los fragmentos dentro del cajón de navegación
- Android DroidGap deshabilitar el botón Atrás
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:
- Llamar a varias actividades para poblar pila de actividades
- Llame a android.os.Process.killProcess (pid);
- 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?
- Error de Android SDK: Intentar instanciar una clase que no es un fragmento
- Vista no adjunta al administrador de ventanas, diálogo despedido