Если пометить основное действие как «singleTask», оно уничтожит другие действия при запуске из панели запуска.Android

Форум для тех, кто программирует под Android
Anonymous
Если пометить основное действие как «singleTask», оно уничтожит другие действия при запуске из панели запуска.

Сообщение Anonymous »

Если пометить основное действие как однозадачное, оно уничтожит другие действия при запуске из панели запуска. Но при запуске из «Недавних» он просто возобновляет последнюю открытую активность. Почему это так работает? И как я могу это предотвратить.
Для иллюстрации (действие A помечено как singleTask), поведение следующее:
Действие A -> Действие B -> Открыть приложение из панели запуска -> Действие A
Действие A -> Действие B -> Открыть приложение из списка «Недавние» -> Действие A -> Действие B< /p>
Я ожидал бы, что при открытии из панели запуска будет тот же стек (A -> B).
Я прочитал много сообщений StackOverflow и Reddit, но ни один из них, кажется, не полностью применим к моей ситуации и/или правильно не объясняет, почему это происходит и как это решить.
Этот пост, например, похоже, точно описывает мою проблему. Однако я не знаю, как должно работать упомянутое решение. Потому что в моем воспроизведении onCreate никогда не вызывается. Более того, действие B уничтожается. Таким образом, даже если бы я мог вызвать Finish в методе onCreate в действии A, мне пришлось бы завершить все приложение, а не только этот экземпляр действия A
Воспроизведение на GitHub: https://github.com/tafelnl/android-sing ... production. Это простое приложение с двумя действиями. MainActivity помечается как SingleTask и запускает SecondActivity посредством намерения. Вы можете заметить, что поведение такое же, как указано выше.

Подробнее здесь: https://stackoverflow.com/questions/789 ... vities-whe

Вернуться в «Android»