Принудительный запуск приложения в новой задаче в Android

#android #android-studio

Вопрос:

Пусть говорится, что есть приложение A и приложение B, я хочу, чтобы приложение A запустило действие, принадлежащее приложению B, по умолчанию это действие будет добавлено в задний стек приложения A.

Я знаю, что добавление флага FLAG_ACTIVITY_NEW_TASK в намерение, которое запускает действие приложения B (возможно, с установкой taskAffinity действия в приложении B), приведет к созданию действия в заднем стеке приложения B.

Однако я хочу знать, есть ли способ заставить приложение A создать действие в новой задаче? Поэтому всякий раз, когда приложение A запускает новое намерение, которое открывает действие в приложении B, действие создается в новой задаче, даже если ФЛАГ_АКТИВИТЫ_НОВЫЕ_ТАСК не установлен.

Моя мысль состоит в том, чтобы начать намерение с флага FLAG_ACTIVITY_NEW_TASK, когда создается действие приложения B, чтобы создать новую задачу с этим действием сверху, но это звучит банально, поэтому я нахожу более прямой подход.

Комментарии:

1. используйте для этого широковещательный приемник

2. @YaqoobBhatti можете ли вы объяснить более подробно?

3. Вы не должны этого делать. Почему вы хотите, чтобы ожидания пользователей и экран «Последние» не работали правильно?

4. @ianhanniballake это требование пользователя, мне нужно запустить действие в новой задаче, чтобы приложение A и приложение B можно было удалить по отдельности.

5. Это прямо противоположно требованию, для выполнения которого приложение A специально разработало свое приложение: рассматривать приложение B как часть своей собственной задачи (и на устройствах, поддерживающих несколько окон, таких как хромбуки или планшеты в многооконном режиме, в одном окне). Если «пользователь» думает, что приложение А делает это неправильно, то он должен связаться с приложением А, не так ли?