У меня есть приложение с 3 слоями. А, Б, В. A и B фиксированы, а C может быть любым из множества действий.
Приложение обычно работает в направлении A>B>C. A вызывает B с помощью метода startActivityForResult. B также вызывает C с startActivityForResult, а результат C обрабатывается в B и передается обратно в A с помощью методов onActivityResult на всех слоях.
Он отлично работает, но я почему-то хочу, чтобы действие A вызывало C напрямую (где я реализовал поток для выполнения действий в фоновом режиме), используя
Intent i = new Intent("com.intentntfiltername.ACVITIY-C");
startActivity(i);
Затем C переключается обратно на A, возобновляя его. После этого A вызовет B для получения результата. B затем вызовет C, используя
intentName.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivityForResult(intentName, requestCodeVariable);
это не создаст новый экземпляр Activity C, а вместо этого возобновит старое действие.
Проблема в том, что когда я возвращаюсь к B после выхода из C, onActivityResult никогда не вызывается. Он просто возобновляет активность B без обработки каких-либо результатов от C.
то есть результат действия не работает, когда мы пытаемся вызвать уже запущенное действие для результата.
Подскажите пожалуйста как это реализовать. Или любой другой обходной путь, только если это невозможно для уже запущенной активности.