Возврат результата действия, отличного от получения действия

У меня есть два приложения. Из первого действия приложения вызывается startActivityForResult () для запуска второго действия приложения. Я знаю, что могу отправить результат через намерение из основной деятельности второго приложения.

Но в некоторых случаях, если основное действие второго приложения запускает другое действие, и оно завершает основное действие, как я могу отправить результат в основное действие первого приложения из другого действия второго приложения?

1 ответ

  1. Предположим, что у вас есть три действия — Aв первом приложении Bи Cво втором приложении.

    Я вижу два возможных сценария:

    1. Сцепление результата-Aзапуск для результата Bзапуск для результата C. Результат от CдоставляетсяB, Bдоставляет его в результате A.
    2. Использование Intents напрямую-не начинайте Bдля результата ,но используйте явный Intents, чтобы вернуть результатA. Это означает, что вы должны установить Aрежим запуска singleTopи использовать соответствующие флаги, чтобы убедиться, что вы не закончите с несколькими экземплярами действия. Вы также можете стрелять Intents не непосредственноA, но к BroadcastReceiverтому, что будет обрабатывать их соответственно.