Tengo una actividad de inicio de sesión y actividad de inicio en mi aplicación. La actividad de inicio de sesión es la actividad de inicio y comprueba si el usuario ya ha iniciado sesión y luego lo dirige automáticamente a la actividad de inicio si ya ha iniciado sesión. Ahora, cuando el usuario está en la actividad de inicio y presiona el botón Atrás, quiero el usuario abandone la aplicación como el mismo comportamiento que ocurre cuando se presiona el botón de retroceso en la actividad del iniciador ¿Cómo logro esto? Definitivamente no quiero que lo lleven a la actividad de inicio de sesión porque ya ha iniciado sesión.

Además, no estoy usando la Biblioteca de navegación en Android

-3
Anudeep Ananth 29 abr. 2020 a las 22:37

3 respuestas

Supongo que usarás una intención explícita para iniciar HomeActivity después de la verificación. Por lo tanto, puede llamar a finalizar en LoginActivity inmediatamente después de iniciar la intención que inicia su HomeActivity.

I.e

startActivity('intent that starts home activity')
finish()

Luego, cuando el usuario presiona la parte posterior btn en HomeActivity, saldrá de la aplicación.

0
Mayokun 29 abr. 2020 a las 19:47

Puede finalizar la actividad de inicio de sesión después de iniciar la actividad de inicio.

startActivity('intent that starts home activity')
finish()

O puede llamar a finishAffinity() onbackpressed en la actividad de inicio

0
Ambrose Bako 29 abr. 2020 a las 19:59

Tienes un par de opciones allí:

  1. Puede finish() su actividad de inicio de sesión, para que se elimine de la pila de actividades.
  2. Puede usar fragmentos para estas pantallas y no agregar el anterior a BackStack mientras reemplaza los fragmentos.
  3. Puede anular el método onBackPressed para ver si el usuario todavía está conectado, para que pueda enrutarlo a la actividad correcta.
  4. Podría pensar en tener una actividad de iniciador que es una actividad ficticia cuyo onCreate() abre la actividad de inicio de sesión o la actividad de inicio en función del estado de inicio de sesión del usuario, de modo que la actividad de inicio de sesión no se abre en caso de que ya haya iniciado sesión, pero esto todavía tendría el mismo problema de tener que finish() esta actividad antes de pasar a la siguiente.
0
Anindya Dutta 29 abr. 2020 a las 19:52