Задний стек действий, кажется, потерян - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть 2 действия: A и B
В B у меня есть стрелка назад, чтобы вернуться к A, вызвав метод "finish ()".
Работает нормально, за исключением следующих случаев:

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

Любая помощь, пожалуйста?

Ответы [ 4 ]

0 голосов
/ 06 декабря 2018

Сделать действие A родительским действием действия B в файле манифеста.Работает для вас.

0 голосов
/ 06 декабря 2018

Я разобрался, как решить эту проблему:
Как упомянул @Karthikeyan в своем комментарии, установка launchMode в "singleInstance" является причиной проблемы.Я изменил его на "singleTask", и он работал нормально.
На самом деле, согласно документу Google, указанному в https://developer.android.com/guide/components/activities/tasks-and-back-stack,

"singleInstance".То же, что и «singleTask», за исключением того, что система не запускает никаких других действий в задачу, содержащую экземпляр.

Таким образом, логически, с «singleInstance», операция при восстановлении из фона не имеладругое действие в том же заднем стеке, и, следовательно, вызов метода finish () просто завершит действие, не восстанавливая его вообще (самое первое действие выполняется в фоновом режиме и выполняется в другой отдельной задаче)

0 голосов
/ 06 декабря 2018

Установить флаг в методе onStop (), чтобы узнать и записать условие onBackPress () для перехода к A в соответствии с изменениями значения флага

0 голосов
/ 06 декабря 2018

Не сохранять действия убедитесь, что эта опция не включена в настройках разработчика вашего устройства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...