Из вашей MainActivity вызовите TargetActivity с помощью startActivityForResult () -
Например:
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra(); // sent your putExtra data here to pass through intent
startActivityForResult(intent, 1000);
В своем намерении установите данные, которые вы хотите вернуть обратно в MainActivity. Если вы не хотите возвращать какие-либо данные, вам не нужно устанавливать никаких данных.
Например:
В TargetActivity, если вы хотите отправить обратно данные:
Intent returnIntent = new Intent();
returnIntent.putExtra("result", result);
setResult(Activity.RESULT_OK, returnIntent);
finish();
Если вы не хотите возвращать данные:
Intent returnIntent = new Intent();
setResult(Activity.RESULT_CANCELED, returnIntent);
finish();
Теперь в вашем классе MainActivity напишите следующий код для метода onActivityResult ().
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1000) {
if(resultCode == Activity.RESULT_OK){
String result=data.getStringExtra("result");
}
if (resultCode == Activity.RESULT_CANCELED) {
// Do your task here.
}
}
}