Sé que puedo anular el método onKeyDown
, pero quiero Back para hacerlo, ¡solo dos!¿Puedo forzar el botón Atrás de Android para retroceder dos pasos en la pila de actividades?
Respuesta
Pienso que de esta manera:
A -> B -> C
actividades A, B, C.
No se puede hacer una vuelta dos veces desde la primera onKeyDown()
se ejecutará en C y el segundo uno debe ser ejecutado en B.
no sé por qué está tratando de hacer, pero aquí están algunas opciones
Utilizando el
android:noHistory
tag:Tal vez su actividad C está haciendo algo que no necesita una vista y es por eso que desea realizar una copia dos veces.
Utilizando una intención. Algo así como:
Intent intent = new Intent(C.this, A.class); startActivity(intent);
Utilizando el
finishActivityFromChild()
. Nunca lo intenté, pero parece que puedes usarlo para decidir qué hacer en B, dependiendo de cómo termine C.
FirstActivity
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivity(intent);
SecondActivity
int REQUEST_CODE = 123
Intent intent = new Intent(SecondActivity.this, ThirdActivity.class);
startActivityForResult(intent, REQUEST_CODE);
(para hacer esta pedagógica hay más código para esta actividad a continuación)
ThirdActivity
@Override
public void onBackPressed() {
// Semi ugly way of supporting that back button takes us back two activites instead of the usual one.
setResultOkSoSecondActivityWontBeShown();
finish();
}
private void setResultOkSoSecondActivityWontBeShown() {
Intent intent = new Intent();
if (getParent() == null) {
setResult(Activity.RESULT_OK, intent);
} else {
getParent().setResult(Activity.RESULT_OK, intent);
}
}
SecondActivity (de nuevo)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 123) {
if (resultCode == RESULT_OK) {
finish();
}
}
}
| * | Volviendo una pantalla o al final de la actividad:
finish();
| * | Volviendo más de una pantalla:
Puede volver a la que jamás pantalla que necesita el uso de banderas intención y uso para evitar que se remonta a la misma pantalla:
Intent gotoScreenVar = new Intent(goFromScreenCls.this, goToScreenCls.class);
gotoScreenVar.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(gotoScreenVar);
- 1. ¿Cómo borrar la pila de actividad anterior y Salir de la aplicación en el botón Atrás?
- 2. Ver pila de actividades en Android
- 3. android: botón de volumen anulado ha afectado el botón Atrás?
- 4. Interceptar el botón Atrás
- 5. ¿Cómo se usa Intent.FLAG_ACTIVITY_CLEAR_TOP para borrar la pila de actividades?
- 6. ¿Cómo borro todas las actividades de la pila?
- 7. Android - Simular el botón Atrás
- 8. Anular botón Atrás de Android
- 9. Phonegap Android Botón Atrás - cerrar la aplicación con el botón Atrás en la página principal
- 10. cómo desactivar el botón Atrás en Android
- 11. Anular botón Atrás en Android
- 12. actividades pila
- 13. El botón Atrás de Android no reinicia la actividad?
- 14. android presionando el botón Atrás debe salir de la aplicación
- 15. inserción de Android en la pila de actividad
- 16. Android: ¿Cómo puedo detectar si el botón Atrás saldrá de la aplicación (es decir, esta es la última actividad que queda en la pila)?
- 17. Botón Atrás y última actividad
- 18. ¿Android gira la animación entre dos actividades?
- 19. Android: Cómo simular el botón Atrás
- 20. Cerrar la aplicación al presionar el botón Atrás en Android
- 21. Anular botón Atrás para actuar como botón de inicio
- 22. Manejo del hardware de Android Botón Atrás
- 23. dos actividades de lanzadores
- 24. Comportamiento del botón Atrás de Android
- 25. ¿Cómo administrar la pila de actividades?
- 26. Cerrar varias actividades de Android simultáneamente
- 27. Cómo almacenar en caché solo para el botón Atrás
- 28. ¿Cómo puedo simular el botón Atrás del navegador en Capibara?
- 29. Deshabilitar la memoria caché de página para forzar la carga de la página con el botón Atrás del navegador
- 30. El botón Android necesita dos clics para la acción
Hay un [blog devlopers Android ] (http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html) sobre el uso de la tecla de retroceso. Solo configúralo para volver a la actividad que quieras. –