En mi aplicación tengo una función de cierre de sesión. Si el usuario hace clic en cerrar sesión, irá a la pantalla de inicio. Ahora salgo de mi aplicación presionando el botón Atrás. Pero lo que quiero es salir automáticamente (es decir, programáticamente) al igual que la funcionalidad del botón de retroceso. Sé que llamando a finish () hará la funcionalidad. Pero es que pasa a la actividad anterior.
android
android-activity
activity-finish
vinothp
fuente
fuente
Respuestas:
onBackPressed()
es compatible desde: API nivel 5@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { onBackPressed(); } } @Override public void onBackPressed() { //this is only needed if you have specific things //that you want to do when the user presses the back button. /* your specific things...*/ super.onBackPressed(); }
fuente
No es necesario que la anule
onBackPressed()
; ya está definida como la acción que realizará su actividad de forma predeterminada cuando el usuario presione el botón Atrás. Así que simplemente llameonBackPressed()
cuando quiera para "presionar programáticamente" el botón Atrás.Sin embargo, eso solo resultaría en
finish()
ser llamado;)Creo que estás confundido con lo que hace el botón Atrás. De forma predeterminada, es solo una llamada a
finish()
, por lo que simplemente sale de la actividad actual. Si tiene algo detrás de esa actividad, se mostrará esa pantalla.Lo que puede hacer es cuando inicie su actividad desde el inicio de sesión, agregue una marca CLEAR_TOP para que la actividad de inicio de sesión no esté allí cuando salga de la suya.
fuente
A veces es útil anular el método onBackPressed () porque en caso de que trabaje con fragmentos y esté cambiando entre ellos si presiona el botón hacia atrás, volverán al fragmento anterior.
fuente
Llame
onBackPressed
después de anularlo en su actividad.fuente
simplemente puede usar onBackPressed ();
o si está usando un fragmento, puede usar getActivity (). onBackPressed ()
fuente
Simplemente agregue finish (); en su primera clase '(actividad de inicio de sesión) onPause (); método. eso es todo
fuente