Contenido sobre Android
Buscar
Social
Ofertas laborales ES

Foro sobre Android > Botón para cerrar aplicación

Se tendría que mandar a llamar a la actividad principal osea de donde ejecuta tu programa y esta seria la que mandarías a cerrar y por automático se cerraran las demás.

mayo 20, 2016 | Unregistered CommenterArturo

Despues de varios intentos, lo que hice fue:
1. En la actividad principal

@Override
protected void onRestart() {
super.onRestart();
supportFinishAfterTransition();
}

2. Mientras que en la actividad desde la que se desea cerrar el app

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == event.KEYCODE_BACK) {

/**
* Para crear el cuadro de dialogo, hay que cear antes, mediante el uso del método Builder,
* el creador de cuadros de dialogo
* */

AlertDialog.Builder builder = new AlertDialog.Builder(Home.this);
/**
* Una vez creado el constructor del cuadro de diálogo,
* colocamos el Título del Cuadro
* */

builder.setTitle(R.string.Confirmacion_de_Registro);
//Colocamos el mensaje que se desplegará dentro del Cuadro de diálogo
builder.setMessage(R.string.confirmado);
//Colocamos la acción a desarrolar con el botón positivo
builder.setPositiveButton(R.string.seguro, new DialogInterface.OnClickListener() {
//Sobreescribimos el método onClick del boton positivo
@Override
//Es un método de acceso total y no devuelve vlor algno
public void onClick(DialogInterface dialogInterface, int i) {
/**
* Al presionar el boton positivo, se mostrará un mensaje,
* El Toast lleva por argumentos:
* -El nombre de l clase donde será ejecutado
* -El Texto del mensaje
* -La longitud del mensaje
* Y finalmente, se muestra mediante el uso del método show()
* */

Toast.makeText(Home.this, "Hasta pronto", Toast.LENGTH_SHORT).show();
//Termina el app
//finish(); Solo termina con la actividad
//System.exit(0); cierra el app sin matar el proceso, por lo que
// el app termina reiniciando
//Aquí tampoco se termina el app y no sé porqué
//int Joe = android.os.Process.myPid();
//android.os.Process.killProcess(Joe);

finish();
}
});
/**
* Aquí, si queremos que salga "Cancel", debemos tener en cuenta
* que ya existe en android
* y se encuentra como android.R.string.cancel
* La segunda entrada/argumnto es la correspondinte al Listener
* Como no queremos hacer nada, escribimos "null"
* Si quisieramos que algo sucediera en específico, deberemos poner un Listener
* Como lo hemos hecho para el PositiveButton
*/

builder.setNegativeButton(android.R.string.cancel, null);
/**
* Nunca olvidar que debemos pedirle al constructor
* que construya el cuadro de diálogo
* Declaramos un objeto Dilog y lo creamos
* */

Dialog dialog = builder.create();
/**Y además debemos pedirle que lo muestre utilizando el método show nuevamente, al igual
* que se hace con los Toast*/

dialog.show();

}
return super.onKeyDown(keyCode, event);
}

agosto 2, 2016 | Unregistered CommenterJuan A.C.Isla

Olvidé explicar que, la actividad desde la que se desea cerrar el app
, debe llevarlos de regreso a la actividad principal al ser finalizada; lo cua
l debe ser hecho por nosotros mismos.
Otra forma de lograrlo sería colocar un Intent en lugar del finish();

el cual quedaría como sigue:

Intent restartHome = new Intent(ActividadActul.this, ActividadPrincipal.class);
startActivity(restarActivity);

agosto 2, 2016 | Unregistered CommenterJuan A.C.Isla

En la primer actividad sobrescriban el método onPause y dentro de el pongan el finish(); para que al momento de que pulsen sobre el botón cerrar de la segunda actividad se termine el proyecto.

octubre 30, 2018 | Unregistered CommenterMario

Excelente el ultimo funciona a la perfeccción gracias

marzo 28, 2020 | Unregistered CommenterDidier Blanco