L'attività 1 utilizza startActivityForResult :
startActivityForResult(ActivityTwo, ActivityTwoRequestCode);
Viene avviata l'attività 2 ed è possibile eseguire l'operazione, per chiudere l'attività fare questo:
Intent output = new Intent();
output.putExtra(ActivityOne.Number1Code, num1);
output.putExtra(ActivityOne.Number2Code, num2);
setResult(RESULT_OK, output);
finish();
Attività 1 - il ritorno dall'attività precedente chiamerà onActivityResult :
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == ActivityTwoRequestCode && resultCode == RESULT_OK && data != null) {
num1 = data.getIntExtra(Number1Code);
num2 = data.getIntExtra(Number2Code);
}
}
AGGIORNAMENTO: risposta al commento di Seenu69, nell'attività due,
int result = Integer.parse(EditText1.getText().toString())
+ Integer.parse(EditText2.getText().toString());
output.putExtra(ActivityOne.KEY_RESULT, result);
Quindi nell'attività uno,
int result = data.getExtra(KEY_RESULT);