que bien podría revelar la Hax Actualmente estoy usando para resolver mi problema. En el "pre-conectado" actividades, ésta la he puesto en el manifiesto:
android:noHistory="true"
Luego, en cada actividad que 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 el nivel de la API 5 o superior, pero lo que hace es que, en cambio, en la "nueva actividad abierta" -animación, el "volver a la actividad previa" - se juega una animación (al menos en el droide y el nexo). Esto evita la apariencia confusa de que una nueva actividad se inicia cuando el usuario presiona el botón Atrás.
Esta solución no es perfecta. En teléfonos con un nivel de API inferior a 5, las animaciones se vuelven incorrectas. Además, no es super ordenado y requiere más código, entonces prefiero. Aún así, funciona ...
Esta totalmente trabajado para mí cuando se trata de simular "volver" a una actividad previa (es decir, por supuesto, no es realmente ahí). ¡Gracias! Iba a lograr esto usando los ID de animación predeterminados pero, para mi sorpresa, esos no están disponibles públicamente. Imagínate. – dmon
si está usando realmente el keyDown, probablemente debería devolver true en lugar de llamar al super – njzk2
Es cierto, he corregido mi respuesta. – pgsandstrom