Судя по документации для finish () :
Позвоните, когда ваша деятельность будет завершена и должна быть закрыта.ActivityResult передается обратно тому, кто запустил вас через onActivityResult ().
Это заставляет меня поверить, что A получит результат B, даже если C находится между этими двумя.
Редактировать - после некоторого тестирования я обнаружил некоторые интересные взаимодействия здесь.
Порядок событий после некоторой регистрации:
- A начался
- Bначалось
- C началось
- B возобновлено (с FLAG_ACTIVITY_BRING_TO_FRONT)
- B закончено
- C возобновлено (было ниже B)
- C закончено
- A возобновляется и получает результат B
Другими словами, A получает результат B, как и ожидалось, но это происходит после завершения C и возобновления A.