Чтобы начать действие B из действия A, вы можете позвонить
final int REQ_STARTB = 101; // anything non-zero
startActivityForResult(REQ_STARTB, new Intent(A.this, B.class)).
//Similar for C.
Затем, когда у вас есть данные из B и вы хотите передать их обратно A, вы можете сделать из B:
Intent I = new Intent()
I.putExtra("MyStringData", stringYouWantToReturn);
//and similar for other types
setResult(RESULT_OK);
finish();
Так что это возвращается к А, и в А у вас будет
public onActivityResult(int req, int res, Intent data) {
if(req == REQ_STARTB) {
if(res == RESULT_OK) {
String dataFromB = data.getStringExtra("MyStringData");
}
}
}