从已经开始的活动控制活动堆栈?

时间:2011-07-08 17:46:34

标签: android search android-activity

我有一个产品列表活动,从类别列表中调用以及从搜索中调用。

当用户多次搜索,然后点击后退按钮时,他必须退回所有搜索(=正常的Android行为)。

我试图实现的是搜索没有放在Acticity Stack上,因此在他的1-n搜索之前,回击将始终将他带到最后一个活动。

示例活动流程:

  1. 仪表板
  2. 类别
  3. 产品列表(来自类别)
  4. (搜索)
  5. 产品列表(来自搜索)
  6. (可能更多搜索)
  7. 产品列表(来自搜索) ...
  8. 我试过android:launchMode =“singleTop”,如下所述: http://developer.android.com/guide/topics/search/search-dialog.html#LifeCycle

    可行,但由于我重复使用相同的产品列表活动进行类别导航和搜索,因此会发生这种情况:

    • 如果没有'singleTop',用户必须退回所有'产品列表(来自搜索)'活动

    • 使用'singleTop',用户(当然)结束活动'类别',但应该在'产品列表(来自类别)'

    • 由于SearchManager触发了intent,我无法使用意图标记。

    有没有机会告诉已经开始的活动(如果被搜索调用)将自己从活动堆栈中删除?

    谢谢!

0 个答案:

没有答案