singletop single pila intent example activity actividades android android-intent android-activity flags

single - Android: Bandera de intención para destruir la actividad y comenzar una nueva



flags intent android (2)

Si solo admite niveles de API 11+, debería poder usar FLAG_ACTIVITY_CLEAR_TASK . Esto finalizará todas las actividades existentes en todas las tareas y creará una nueva instancia de la actividad de inicio de sesión.

Por lo tanto, tengo una Actividad de inicio de sesión. Esta Actividad infla un diseño de inicio de sesión.xml que tiene las Vistas de Texto de Usuario USUARIO_NOMBRE y CONTRASEÑA, cuando ingreso el Nombre de usuario y la Contraseña y hago clic en el botón Iniciar sesión, comienzo una nueva Actividad.

La nueva actividad tiene un botón de cierre de sesión que básicamente comienza la actividad anterior así:

Intent loginIntent = new Intent(getActivity(), Login.class); loginIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); getActivity().startActivity(loginIntent);

Según la documentación de Android, la bandera hace lo siguiente:

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

Si se configura, y la actividad que se está iniciando ya se está ejecutando en la tarea actual, en lugar de lanzar una nueva instancia de esa actividad, todas las demás actividades encima de ella se cerrarán y esta intención se entregará al (ahora en adelante arriba) la actividad antigua como un nuevo intento.

El problema es que el nombre de usuario y la contraseña siguen apareciendo en las vistas Editar texto después de que cierre la sesión, ¿hay un indicador que destruye la actividad de inicio de sesión y comienza una nueva o hay una manera de restablecer los campos cada vez que cierre la sesión? ¿Cuál es el mejor enfoque?


Tienes 2 opciones:

1 - Matar la actividad de inicio de sesión después de un inicio de sesión exitoso

Intent loginIntent = new Intent(getActivity(), Login.class); loginIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); getActivity().startActivity(loginIntent); finish();

2 - Vaciar los valores y comenzar una nueva actividad.

edittext_username.setText(""); edittext_password.setText("");