Восстановление нормального рабочего процесса после открытия операции - PullRequest
1 голос
/ 15 ноября 2011

Давайте рассмотрим простой пример, у меня есть приложение, которое представляет HomeActivity, это действие может привести к RssListActivity (этому списку RSS-элементов), которое может привести к третьей ItemDetailActivity, которая просто предоставляет подробный вид моего RSS-элемента. Некоторые уведомления могут привести к открытию ItemDetailActivity для определенной статьи.

Моя цель состоит в том, чтобы в случае уведомления восстановить нормальный рабочий процесс, т. Е. Когда пользователь нажимает кнопку «Назад», он переводится в RssListActivity, а другой щелчок по кнопке «Назад» возвращает HomeActivity.

Конечно, я бы действительно не хотел переопределять пользовательский onKeyDown () для каждого из этих действий.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011

Надеюсь, я правильно понял ваш вопрос,

Вы хотите убедиться, что в потоке:

Home > Task1 > Task2

Это, если уведомление вызываетсязапустите «Task1», тогда backstack будет выглядеть следующим образом:

Home > Task2 > Task1

Вы можете сделать это, добавив FLAG_ACTIVITY_REORDER_TO_FRONT к Intent, который вызывает Task1.Следует переупорядочить действие (если оно выполняется) в верхней части Backstack.

0 голосов
/ 15 ноября 2011

Я думаю, что вы не должны менять порядок действий, лучше предоставить пользователю два способа навигации. Android, к которому привык пользователь, и если в ваших приложениях есть какая-то иерархия, которую необходимо сохранить, в вашем приложении может быть ActionBar с кнопкой возврата (в иерархическом порядке)

Кроме того, я думаю, что единственный способ сделать то, что вы хотите, это переопределить метод onKeyDown.

...