Использование startActivityForResult для нескольких действий

Я использую startActivityForResult для двух видов деятельности, подобных этому

Activity A -> startActivityForResult(ActivityB,0) -> Activity B -> setresult(10); finish(); -> Activity A -> if(result==10) {dofunction(); } 

Но я должен использовать эту логику для 4 или более видов деятельности.

 Activity A -> startActivityForResult(ActivityB,0) -> Activity B -> finish(); -> Activity C -> finish(); -> Activity D -> setresult(10); finish(); -> Activity A -> if(result==10) {dofunction(); } 

Но это не работает.

РЕШЕНИЕ:

 Activity A -> startActivityForResult(activityB,0); Activity B -> activityCintent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(activityCintent); finish(); Activity C -> activityDintent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); startActivity(activityDintent); finish(); Activity D -> setresult(10); finish(); Activity A -> if(result==10) {dofunction(); } YEPPP 

Это логика FLAG_ACTIVITY_FORWARD_RESULT. Сначала вы начинаете действие для результата, новая активность передает это намерение другому новому действию, пока вы не установите результат. Надеюсь, это будет полезно для тех, кто сталкивается с такой же проблемой.

После именования в startActivityForResult(ActivityB,0) мы выдаем код запроса для указанной активности, т.е. startActivityForResult(ActivityB,REQUEST_CODE_FOR_ACTIVITYB) . С кодом запроса, являющимся целым числом. Затем в onActivityResult проверяет каждый код запроса и реализует вашу логику