Estoy desarrollando y la aplicación donde el usuario debe iniciar sesión antes de usarlo. Personalicé mi barra de título y coloqué un botón para cerrar la sesión allí, para permitir a los usuarios cerrar la sesión cuando lo deseen y acceder con otra cuenta. La aplicación debería mostrar la actividad de inicio de sesión nuevamente.Verificar el inicio de sesión en cada actividad
Eso funciona bien, pero mi problema es con el botón Atrás. Cuando el usuario cierra la sesión, aparece la actividad de inicio de sesión, pero si presiona hacia atrás, la aplicación vuelve a la página anterior, lo que permite al usuario volver a usar esa actividad, incluso sin iniciar sesión.
tengo mi onCreate()
de toda actividad establecido de esta manera:
public void onCreate(Bundle savedInstanceState) {
// Activity code
checkLogin();
}
Y el checkLogin()
:
if (GlobalContext.getCurrentUser() == null) {
Intent i = new Intent(this, LoginActivity.class);
startActivityForResult(i, GlobalContext.REQUEST_LOGIN);
}
Sin embargo eso no funciona como debería, mis aplicación se bloquea a veces cuando se presiona la espalda , a veces vuelve a la actividad anterior como dije, y algunas veces realmente funciona.
¿Cómo puedo hacer que se llame al checkLogin()
cada vez que se inicia (re) la actividad?
¿O hay otra forma mejor de hacer lo que quiero?
EDIT:
@ Sobre la base de la respuesta de Gabriel y el siguiente diagrama de the SDK references, moví el checkLogin()
al método onResume()
en lugar de la onCreate
, la solución de mi problema.
Gracias, eso era exactamente lo que necesitaba. De hecho, lo cambié a on Reesume, funcionó bien –