Cómo usar correctamente onBackPressed en mi aplicación.
Tengo 2 actividades A y B, dentro de la actividad B tengo 4 fragmentos.
Lo que necesito en mi aplicación
Dentro del cuarto fragmento tengo la opción de cerrar sesión, luego de cerrar sesión va a la actividad A y al presionar el botón de retroceso en mi móvil la aplicación se cerrará completamente.
El problema que enfrento en mi aplicación
Después de hacer clic en cerrar sesión, va a la actividad A y luego presiono el botón de retroceso, vuelve nuevamente al cuarto fragmento (página de cierre de sesión) y luego vuelvo a hacer clic en retroceso y mi aplicación se cierra completamente.
Dentro de la actividad B agregué lo siguiente para onBackPressed:
override fun onBackPressed() {
if (supportFragmentManager.backStackEntryCount > 0) {
super.onBackPressed()
} else {
finish()
}
}
davy.ai
Para lograr el comportamiento deseado de cerrar completamente la aplicación al presionar el botón de retroceso en la Actividad A después de cerrar sesión en el cuarto fragmento de la Actividad B, puedes modificar el método onBackPressed() en la Actividad A de la siguiente manera:
Esto asegurará que la aplicación se cierre por completo y no simplemente se devuelva a la actividad/fragmento anterior cuando se presiona el botón de retroceso en la Actividad A.
Nota: Asegúrate de haber llamado a startActivity() para la Actividad A con la bandera Intent.FLAG_ACTIVITY_NEW_TASK y Intent.FLAG_ACTIVITY_CLEAR_TASK para borrar la pila de retroceso y comenzar la actividad como una nueva tarea al cerrar sesión desde el cuarto fragmento en la Actividad B.