О жизненном цикле деятельности - PullRequest
0 голосов
/ 05 апреля 2010

В моем приложении у меня есть несколько действий, основной экран имеет 4 кнопки, каждая из которых запускает свою деятельность. Таким образом, одним из них является поисковое действие, когда оно выполняет поиск, оно показывает результат действия. Этот результат деятельности может быть достигнут из других действий, поэтому в общем случае что-то вроде этого:

Main activity -> Search activity -> Result activity

Main acitivty -> someother activity -> Result activity

Теперь, если я достиг этого результата и нажму один или два раза назад, а после этого нажмите клавишу Home, появится главный экран. Но если я захочу вернуться к своему приложению, удерживая кнопку «Домой» и щелкая мое приложение, оно всегда вернется к действию «Результат», независимо от того, какое действие было последним, которое я использовал. И если я снова нажму назад, это вернет меня на главный экран.

Если я попробую еще раз, я снова вернусь к Результату. Единственный способ избежать этого - запустить приложение, нажав на значок приложения. И это возвращает меня к последнему действию, которое я использовал, и запоминает состояние, поэтому, если я снова нажму, это не приведет меня к главному экрану, а к предыдущему действию. Чтобы проиллюстрировать это:

Main activity -> Search activity -> result activity --back--> Search activity --Home Button--> Home Screen --Hold Home and select the app --> Result activity --back--> Home Screen

--Click application icon--> Search activity --back--> Main activity

Еще одна вещь, которая случается, заключается в том, что если я нажму кнопку «Домой» во время действия «Результат» и запусту приложение, щелкнув по значку, это приведет меня к действию, предшествующему результату.

Почему это происходит? Есть обходные пути?

Ответы [ 2 ]

2 голосов
/ 05 апреля 2010

Похоже, что ваш intent.addFlags использует ваш собственный "пользовательский" флаг для отправки значения вашей новой активности (R.id.flag_search)? Я не уверен, что поддерживается или предполагаемое использование флагов и действий. Флаги документированы здесь:

http://developer.android.com/intl/de/reference/android/content/Intent.html#setFlags%28int%29

0 голосов
/ 05 апреля 2010

Установите alwaysRetainTaskState в true.

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