¿Cómo puedo enviar datos utilizando el acabado?

Como puedo enviar datos de una actividad a otra usando esto:

intent.putExtra("Name", Value); 

Cómo puedo enviar datos cuando estoy usando finish() para volver a la actividad anterior.

En mi aplicación de Activity_A voy a Activity_B . En Activity_B estoy marcando una ubicación en el mapa, lo que me da latitud y longitud. Entonces quiero usar este lat y lng en Activity_A . Pero no quiero volver a Activity_A usando una intención, porque no quiero recrear la Activity_A ya que algunos datos ya llenos se perderán.

Como usted está usando el intent.putExtra("Name", Value); , Utilizar la misma cosa al terminar la actividad también.

Por ejemplo:

De activityA usted llama a activityB como:

 intent.putExtra("Name", Value); now instead of startActivity() use `startActivityForResult()` 

Y de activityB, al terminar la actividad, llame a:

 setResult(RESULT_OK); 

Ahora en activityA, su onActivityResult será llamado, que es como:

@Anular

  protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub } 

Así que de esta manera usted puede manejarlo.

En la actividad A:

 // Add more, if you call different activities from Activity A private static final REQUEST_GET_MAP_LOCATION = 0; void doSomething() { ... startActivityForResult(theIntentYouUseToStartActivityB, REQUEST_GET_MAP_LOCATION); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_GET_MAP_LOCATION && resultCode == Activity.RESULT_OK) { int latitude = data.getIntExtra("latitude", 0); int longitude = data.getIntExtra("longitude", 0); // do something with B's return values } } 

En la Actividad B:

 ... setResult(Activity.RESULT_OK, new Intent().putExtra("latitude", latitude).putExtra("longitude", longitude)); finish(); ... 

Llame a su Activity_B con startActivityForResult() , desde su Activity_A :

  //Starting a new Intent Intent nextScreen = new Intent(getApplicationContext(), Activity_B.class); // starting new activity startActivityForResult(nextScreen,1000); 

Una vez que haya terminado de trabajar en la Activity_B , debe llamar a setResult() para establecer los datos, seguido de finish() como este

  //Starting the previous Intent Intent previousScreen = new Intent(getApplicationContext(), Activity_A.class); //Sending the data to Activity_A previousScreen.putExtra("Bla"," Blabla"); setResult(1000, previousScreen); finish(); 

Esto le llevará de nuevo a su Activity_A anterior.

En Activity_A , anule onActivityResult() .

  @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); String bla = data.getStringExtra("Bla"); } 

Encontrado aquí

startActivityForResult para iniciar B y setResult antes de B finish y manejar onAcitivityResult en A

  • Método de ContentValues ​​put
  • ¿Qué es Uri.parse en android
  • ¿Cómo identificar si mi aplicación está configurada como predeterminada por el usuario?
  • Acuerdo de Android con muchas intenciones
  • Iniciar el nuevo marcador de Hangouts desde un intento
  • Pid para el proceso que envió una intención
  • Firefox para Android no inicia la aplicación cuando se hace clic en el enlace
  • No obtener sms incluso cuando se establece la mayor prioridad e instaló primero
  • La imagen compartida de Android no borra la vista previa de un elemento previamente compartido
  • Compartir la imagen con la URL
  • Android: Null Pointer Excepción al llamar a una nueva intención
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.