в какой-то части моего приложения существует такая структура:

Activity A - моя домашняя деятельность, где я возвращаюсь после каждого процесса или потока. Activity B - простая операция подтверждения. Activity C - еще одна операция подтверждения. Activity D выполняет некоторый процесс и, наконец, возвращает результат моей домашней активности (Activity A).
Требования:
Activity B и C:
- должен быть там и не может быть объединен в один.
- когда нажимается кнопка отмены, она вызывает
finish()и ничего не делает. - когда он нажимается на кнопку OK, он следует за потоком, а текущие вызовы активности
finish()
Вопрос:
Я думал об использовании startActivityForResult(), но я никогда не использовал его для передачи результата через несколько действий.
Я также думал передать handler (созданный в Activity A), который вызывает некоторый метод на Activity A и выполняется на Activity D...
Как я могу реализовать его?