Android: startActivityForResult () con funcionalidad de botón BACK
Me gustaría iniciar una nueva activity
para un result
, con startActvityForResult()
, pero me gustaría tener el botón de back
funcionando normalmente en la nueva actividad.
Actualmente cuando invoco una nueva Activity
para el resultado, no ocurre nada cuando presiono el botón Atrás en la nueva Actividad.
- Android Detección de la cara
- ZXing Lector de código de barras: ¿Cómo hacer frontera personalizada alrededor de la pantalla de captura?
- Transmisión de audio a través de socket TCP en Android
- Android FileInputStream leer () archivo txt a String
- Reproducción de un archivo de imagen GIF animado en la vista de imagen
He intentado algo como esto:
@Override public void onBackPressed() { setResult(0); super.onBackPressed(); finish(); }
En la nueva Actividad, pero no funcionó. Aún no ocurre nada cuando se pulsa el botón de retroceso.
¿Hay alguna forma de evitar esto?
EDIT: Podría por supuesto cargar la última Activity
en el onBackPressed()
(¿puedo?), Pero parece un hack bastante malo.
La respuesta de Alex Ady resuelve mi problema, pero todavía no entiendo por qué onBackPressed()
no funciona. El código de trabajo ahora es algo como esto:
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { setResult(1); finish(); } return super.onKeyDown(keyCode, event); }
Podría usar una explicación.
- Verificación del lado del servidor de Android Market Respuestas de licencias con PHP
- Eclipse SDK Manager no se muestra
- ¿Cómo se juega streaming en directo en la aplicación android?
- Wakelock y wifilock no funcionan
- Desapertar una cadena
- Retrofit GSON serialize Fecha de la cadena json en long o java.lang.Long
- Retrofit - Cliente Okhttp Cómo almacenar en caché la respuesta
- Señal de error de Android 11 cuando una película dibuja en un lienzo
Tu podrías intentar
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK)) { finish(); } return super.onKeyDown(keyCode, event); }
No debería tener que anular el comportamiento del botón Atrás en absoluto. De forma predeterminada, si el usuario presiona el botón Atrás, el resultado será Activity.RESULT_CANCELED
.
Intente deshacerse de la línea que contiene el acabado ().
- Desbloqueo de APK de Android con java.lang.AssertionError: imposible en java.lang.Enum
- Cómo convertir SpannedString a Spannable