Открытие нескольких задач Android с одной и той же корневой активностью - PullRequest
0 голосов
/ 20 января 2019

Я пытаюсь начать намерение с Main2Activity в новой (отдельной) задаче (т. Е. В отдельном бэк-стеке и отдельном экземпляре на экране последних).Я понял, что способ сделать это - добавить флаги намерений Intent.FLAG_ACTIVITY_NEW_TASK и Intent.FLAG_ACTIVITY_MULTIPLE_TASK:

Intent intent = new Intent(this, Main2Activity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
startActivity(intent);

Но это работает, только если я установил (в манифесте) значение Main2Activity android:taskAffinity, отличное отпо умолчанию (т. е. отличается от соответствия задачам текущего действия).

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

Пример:

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

Любая подсказка?

Большое спасибо.

1 Ответ

0 голосов
/ 20 января 2019

Хорошо, так что я думаю, что только что понял.

Заменил флаг Intent.FLAG_ACTIVITY_NEW_TASK на Intent.FLAG_ACTIVITY_NEW_DOCUMENT, и, похоже, он работает нормально.

примечание: для этого флага требуется уровень API> = 21

...