Pasar datos a través de múltiples actividades
1- es mi primera actividad (principal) 2- es mi segunda actividad 3 – es mi tercera actividad
Quiero correr 2 de 1 y luego formar 2 ejecutar 3, y luego de 3 estoy tomando datos y devolverlo a 1. Chicos de esperanza que va a entender.
- Cómo ocultar el teclado cuando se inicia la actividad
- SimpleOnGestureListener nunca entra en el método onFling (...)
- Cambiar programaticamente el color de la forma en la lista de capas
- Android: FLAG_ACTIVITY_CLEAR_TOP y android: launchMode = "singleInstance"
- Android: addview () - agregar una nueva vista en la parte superior de la actividad
Aquí está mi código:
Runing 2 form 1 liek this:
Intent intent = new Intent(getApplicationContext(),MessageBox.class); intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivityForResult(intent,5);
Y luego corriendo 3 de 2 como este:
Intent intent = new Intent(getApplicationContext(),ImageReceiver.class); startActivityForResult(intent,5);
Y luego en 3 tengo algo como esto:
setResult(10); finish();
Así que establezco el resultado así que en 2 para obtener este resultado tengo:
if(requestCode==5) { if(resultCode==10) { Intent intent = new Intent(getApplicationContext(),MainActivity.class); setResult(5,intent); finish(); } }
Y luego en 1 tengo:
if(requestCode==5) { if(resultCode==5) { //here i am taking data from 3 } }
El problema es que ni siquiera puedo abrir 2 coz en logcat estoy recibiendo:
04-23 22: 13: 15.579: E / AndroidRuntime (15313): android.util.AndroidRuntimeException: FORWARD_RESULT_FLAG utilizado al mismo tiempo que solicita un resultado
Y realmente no tengo lo que debo hacer. Por favor, mire este código.
- Obtener el valor de tema aplicado para una actividad mediante programación
- Cómo pasar una gran colección entre actividades (flujo de detalle maestro)
- GetActivity () en el fragmento es nulo después del cambio de orientación
- Cómo cancelar AsyncTask cuando la actividad termina?
- Android activity-reset después de tomar fotos (orientación?)
- Cómo utilizar "Enviar Feeback", FeedbackActivity, en Android?
- ¿Qué sucede cuando hace clic en el icono de inicio de una aplicación?
- El menú emergente desaparece de la pantalla
No puede hacer esto al iniciar 2 de 1:
Intent intent = new Intent(getApplicationContext(), MessageBox.class); intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivityForResult(intent,5);
Esto lanzará la excepción que está recibiendo. No puede utilizar FLAG_ACTIVITY_FORWARD_RESULT
y startActivityForResult()
juntos.
Si desea 1 para obtener el resultado de 3, entonces usted necesita para iniciar 2 de 1 como este:
Intent intent = new Intent(getApplicationContext(), MessageBox.class); startActivityForResult(intent, 5);
y luego iniciar 3 de 2 como este:
Intent intent = new Intent(getApplicationContext(), ImageReceiver.class); intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(intent); finish();
Esto indica a Android que la actividad 3 ( ImageReceiver
) debería reenviar su resultado a la actividad que llamó actividad 2 ( MessageBox
). Cuando la actividad 3 establece su resultado y termina, se onActivityResult()
en la actividad 1 con los datos de resultado enviados desde la actividad 3.
comentar esta línea en la actividad 1
intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
y esta línea en la actividad 2
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
Deberías estar todo listo.