To start activity B from activity A you can call
final int REQ_STARTB = 101; // anything non-zero
startActivityForResult(REQ_STARTB, new Intent(A.this, B.class)).
//Similar for C.
Then when you have some data from B and want to pass them back to A you can do from B:
Intent I = new Intent()
I.putExtra("MyStringData", stringYouWantToReturn);
//and similar for other types
setResult(RESULT_OK);
finish();
So it goes back to A and in A you will have
public onActivityResult(int req, int res, Intent data) {
if(req == REQ_STARTB) {
if(res == RESULT_OK) {
String dataFromB = data.getStringExtra("MyStringData");
}
}
}