Проверка того, было ли приложение возобновлено из последних приложений или из значка запуска

Я хотел бы отличать событие, когда пользователь возобновляет работу моего приложения, из списка «последние приложения» или снова из значка запуска, даже если в фоновом режиме работает незавершенное приложение.

Мое приложение представляет собой одно Activity, содержащее несколько Fragments, предполагаемое поведение заключается в том, что если пользователь возобновит работу из «недавних приложений», мне не придется ничего делать, поскольку поведение по умолчанию возвращает их к фрагменту, в котором они его оставили. Однако, когда пользователь снова запускает приложение из значка, я хочу поместить все фрагменты в моем диспетчере фрагментов в первый фрагмент, по сути, ведя себя так, как если бы приложение запускалось заново.

Однако прямо сейчас, даже если пользователь нажмет на значок запуска, приложение будет возобновлено, как обычно, как из списка «последних приложений», без вызова onCreate() на Activity. Я просмотрел похожие вопросы, но они, похоже, указывают на то, что действие ДЕЙСТВИТЕЛЬНО воссоздается, когда пользователь снова запускает значок, что странно, а не то, что я наблюдаю: Приложение для возобновления работы Android из списка последних приложений

Любые идеи?


person Jason Hu    schedule 02.01.2015    source источник
comment
Я не думаю, что есть какой-либо способ сделать это, извините.   -  person Alex K    schedule 02.01.2015
comment
Это стандартное поведение Android. Нет никакой разницы между запуском приложения с помощью значка на ГЛАВНОМ экране и запуском приложения, выбрав его из списка недавних задач. Эти 2 действия совершенно одинаковы, и вы не можете сказать разницу. Принятый ответ на вопрос, на который вы ссылались в своем посте, к сожалению, неверен :-(   -  person David Wasser    schedule 05.01.2015


Ответы (1)


Вы можете попробовать добавить этот атрибут в свой файл манифеста для своей деятельности.

<activity>
   ...
   android:launchMode="singleTask"
</activity
person Ana Ilies    schedule 10.09.2020