¿Cómo evitar volver a la configuración de inicio de sesión pulsando el botón / tecla de regreso?

Quiero crear una aplicación para mi instituto.

El problema es: mi aplicación tendrá dos diseños (login y dashboard).

Los estudiantes pueden llenar correctamente el formulario de inicio de sesión, entrar en el panel de control, pulsar los botones y rellenar otros campos. Pero si el usuario presiona el botón de retroceso, no debe volver a la pantalla de inicio de sesión, pero permanecer en el salpicadero o, en su defecto, salir de la aplicación.

Entonces, si un estudiante reabre la aplicación y ya está registrado, debería ser redirigido automáticamente al tablero de mandos, y no a la pantalla de inicio de sesión, a menos que el usuario presione el botón de cierre de sesión en el tablero y luego redirigirlo de nuevo a la pantalla de inicio de sesión.

¿Como pudiste?

Edit: He implementado 2 intentos y 2 actividades, y nuevas preguntas que surgió es que cuando presiono el botón de inicio y desde el taskmanager abrir la aplicación, abrir en la actividad que quedaba, pero si el abrir desde el icono para abrir el Aplicación de nuevo desde la primera actividad, al igual que para abrir en el último se quedó?

He implementado algo similar utilizando SharedPreferences . Hice esto:

LoginActivity

 SharedPreferences settings; public void onCreate(Bundle b) { super.onCreate(b); settings = getSharedPreferences("mySharedPref", 0); if (settings.getBoolean("connected", false)) { /* The user has already login, so start the dashboard */ startActivity(new Intent(getApplicationContext(), DashBoardActivity.class)); } /* Put here the login UI */ } ... public void doLogin() { /* ... check credentials and another stuff ... */ SharedPreferences.Editor editor = settings.edit(); editor.putBoolean("connected", true); editor.commit(); } 

En su DashBoardActivity anule el método onBackPressed . Esto le llevará desde DashBoardActivity a su pantalla de inicio.

 @Override public void onBackPressed() { Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent); } 

Espero eso ayude.

Una idea es lanzar inicialmente el tablero de mandos y luego iniciar el inicio de sesión en una nueva Activity si detecta que el usuario no ha iniciado sesión. A continuación, puede omitir el diálogo de inicio de sesión según sea necesario. Si establece noHistory="true" en la Activity inicio de sesión de su manifiesto, se evitará que vuelva a aparecer en la parte posterior presionada.

Mueva la tarea que contiene esta actividad a la parte posterior de la pila de actividades. El orden de la actividad dentro de la tarea no cambia.

 @Override public void onBackPressed() { moveTaskToBack(true); super.onBackPressed(); } 
  • ¿Cómo guardar el estado de inicio de sesión del usuario en Android?
  • Mantenimiento de la sesión en android (la aplicación permanece autenticada en el lado del servidor)
  • Hacer un login con facebook usando Facebook SDK 3.0
  • El botón de inicio de sesión Android de Google no funciona
  • ¿Qué es una buena manera de realizar un seguimiento de los eventos de fondo en Android sin inflar los números de sesión?
  • ¿Cuál es el método recomendado para almacenar un ID de sesión
  • ¿Cómo mantener la sesión de inicio de sesión de usuario?
  • Cómo consumir servicios WCF dependientes de la sesión usando Ksoap2-Android
  • Las solicitudes de volea no funcionan con Django Sessions
  • Cómo evitar el tiempo de espera de sesión en Android
  • Usuario de comprobación de Android iniciado antes, de lo contrario iniciar actividad de inicio de sesión
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.