Actividad inicial y claro historial de actividades
Así que tengo un enorme laberinto de actividades en mi aplicación. Lo que necesito hacer, es que cuando el usuario inicia sesión en el sistema, el historial de actividades debe ser borrado. No puedo usar finish () cuando empiezo una nueva actividad, porque quiero que las actividades tengan un historial hasta que el usuario inicie sesión. Tengo experimentet con las diferentes banderas al iniciar una actividad, pero no he tenido éxito. ¿Algunas ideas?
Aclamaciones,
- Cómo encontrar la actividad de primer plano actual en android
- ¿La mejor práctica para pasar Contexto a clases sin actividad?
- Android: Cómo ampliar mi clase de actividad con RoboActivity + ActionBarActivity
- Cómo iniciar la actividad de Android AppWidget?
- ¿Por qué algunas veces funciona guardar un Hashtable de objetos no Parcelable en onSaveInstanceState ()?
- Cómo agregar o eliminar el filtro intención mediante programación en android?
- ¿Cómo puedo matar una actividad cuando se presiona el botón Atrás?
- Compruebe si la actividad se está ejecutando desde el servicio
- Espresso ¿cómo probar si la actividad está terminada?
- Tiempo inactivo de actividad para ActivityRecord
- No se puede iniciar la actividad en Android a través de Unity
- Android notificar cuando startActivity intención ha terminado?
- Android: borrar historial al navegar entre Actividades
Yo también podría revelar el hax que estoy utilizando actualmente para resolver mi problema. En las actividades "pre-logged in", he establecido esto en el manifiesto:
android:noHistory="true"
Entonces en cada actividad tengo este código:
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { Intent intent = new Intent(MyActivity.this, ParentActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); startActivity(intent); return true; } return super.onKeyDown(keyCode, event); }
El FLAG_ACTIVITY_NO_ANIMATION sólo funciona en teléfonos con API de nivel 5 o superior, pero lo que hace es que en lugar de la "nueva actividad abierta" -animación, el "volver a la actividad anterior" -animación se juega (al menos en el droide y el nexo) . Esto evita la aparición confusa de que se inicia una nueva actividad cuando el usuario presiona el botón de retroceso.
Esta solución no es perfecta. En los teléfonos con un nivel de API inferior a 5, las animaciones se vuelven incorrectas. Además, no es super aseado y requiere más código, entonces yo prefiero. Sin embargo, funciona …
Puede utilizar 65536
lugar de Intent.FLAG_ACTIVITY_NO_ANIMATION
para versiones anteriores
- Android Twitter – Hacer clic en la pestaña Actualizar y ocultar
- NullPointerException al llamar a RingTonePreference en Samsung Galaxy S