Activity A
call Activity B
Activity C
Activity B
Don't call finish()
from B when opening C. Instead, call C with startActivityforResult()
and then pass the data back through B when onActivityResult()
in B is triggered. Something like:
ActivityB {
onCreate(Bundle) {
startActivityForResult(ActivityC, 0);
}
onActivityResult(int, int, Intent){
setResult(resultCode, data);
finish();
}
}
Edit:
Apparently adding the flag Intent.FLAG_ACTIVITY_FORWARD_RESULT
when calling B should actually achieve your desired result as well.
Learn somethin' new every day...