我目前有一个Android应用程序,在浏览对象层次结构的过程中会创建一个这样的后栈。
BrowseActivity(正在启动实例) - > BrowseActivity(实例B) - > BrowseActivity(实例C) - > ViewObjectActivity
视图对象活动中有一个菜单按钮,我希望将用户带回BrowseActivity(Starting Instance)并销毁其余的浏览活动。
使用Intent.FLAG_ACTIVITY_CLEAR_TOP只会破坏ViewObjectActivity并将其余内容留在后台堆栈中。
在清单中将BrowseActivity设置为“singleTop”会破坏为另一个导航创建另一个实例的能力。
任何可能实现这一点的方式我可能会忽略?
答案 0 :(得分:1)
如果您希望菜单选项将用户带回第一个活动,请执行此操作 - 将用户恢复到第一个活动。
让您的第三个活动以特定结果退出,该结果告诉第二个活动也退出。您可以将此扩展到您想要的活动数量 - 只要除第一个活动之外的所有活动都退出,您就可以了。
答案 1 :(得分:0)
您需要在一对中使用此标志。以下一直对我有用
Intent.FLAG_ACTIVITY_CLEAR_TOP
Intent.FLAG_ACTIVITY_NEW_TASK