Actividad creada dos veces en Android

El problema es el manejo inadecuado del Activityciclo de vida.

La segunda llamada a onCreatees para manejar el resultado.

Android puede optar por destruir uno Activityque está esperando la llamada onActivityResult; especialmente cuando la memoria libre se está agotando. Algunos dispositivos parecen más agresivos para destruir las actividades que están en la pila de tareas. Puedo recrear de manera confiable el problema en un dispositivo Samsung configurado en un modo de depuración llamado "modo estricto".

Puede verificar si este es su problema registrando llamadas a onCreate& onDestroy.

En el caso de una actividad destruida, cuando el resultado de la actividad necesita ser procesado, Android recreará el Activity, pasando un savedInstanceStatea onCreate. Entonces, el remedio es verificar el valor de savedInstanceStateen su GetImageActivity.onCreate. Si no es nullasí, no realice ninguna llamada startActivityporque Activityse está recreando su llamada onActivityResult.

Opcionalmente, si necesita preservar cualquier estado, anule onSaveInstanceState(Bundle outState)y coloque los datos que necesita outState.

Respuesta 1

Agregue esto a su definición de Actividad en AndroidManifest.xml:

android:launchMode = "singleTask"
Respuesta: 2

Cuando llama startActivityForResult, le dice a Android que desea que se entregue el resultado al Activityque está haciendo esa llamada. Lo que explica lo que ves cuando inicias sesión GetImageActivity - onCreate (again).

Ya que invocan startActivityForResulten su primera actividad, que es, GUIActivityde lo que debería estar llamando setResulta GetImageActivitypasar adecuadamente vuelta el resultado.

Entonces, GetImageActivity.onActivityResult()justo antes de llamar finish(), debe llamar setResultpara que cuando regrese GUIActivitypueda manejar el resultado esperado.

Respuesta: 3

Estaba usando la "nueva" API de Hadoop 1.0.4 (clases en el paquete org.apache.hadoop.mapreduce). Cuando quería encadenar el mapeador / reductor, descubrí que ChainMapper, ChainReducer están escritos para la API "antigua" (...

Estoy usando iText para crear mis archivos PDF. Quiero colocar el texto en algún lugar específico del documento utilizando el método que encontré aquí: texto de posicionamiento de texto absolutamente. Sin embargo, no puedo entender ...

Estoy tratando de usar el certificado SSL obtenido con StartSSL.com en un servidor Apache. La conexión con el navegador está bien, pero cuando trato de usar una aplicación Java, obtengo esta excepción: Excepción ...

¿Cómo nombra las interfaces de repositorio y servicio y sus clases de implementación? Por ejemplo, tengo un modelo con el nombre Pregunta. ¿Cómo llamarías al repositorio (interfaz e implementación) ...