Управление стеком активности из уже запущенной активности? - PullRequest
1 голос
/ 08 июля 2011

У меня есть активность по списку товаров, которая также вызывается из списка категорий * из поиска.

Когда пользователь выполняет поиск несколько раз, а затем нажимает кнопку «Назад», он должен отменить все поиски (= нормальное поведение Android).

Я пытаюсь добиться того, чтобы поиски не помещались в стек Acticity, поэтому ответный удар всегда приведет его к последнему действию перед его поиском 1-го.

Пример потока операций:

  1. Приборная панель
  2. категории
  3. список товаров (из категорий)
  4. (поиск)
  5. список товаров (из поиска)
  6. (возможно, больше поисков)
  7. список товаров (из поиска) ...

Я попробовал Android: launchMode = "singleTop", как описано здесь: http://developer.android.com/guide/topics/search/search-dialog.html#LifeCycle

Работает, но, поскольку я повторно использую ту же активность в списке товаров для навигации и поиска по категориям, это происходит:

  • Без 'singleTop' пользователь должен отменить все действия, связанные с 'productlist (from search)'

  • С 'singleTop' пользователь заканчивается (конечно) на "категориях" деятельности, но должен на "productlist (из категорий)"

  • Поскольку SearchManager запускает намерение, я не могу использовать флаги намерения.

Есть ли шанс сообщить уже запущенной активности (если она вызывается поиском), чтобы удалить себя из стека активности?

Спасибо!

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