3
支持App开始活动A,然后A开始活动B并完成自己。之后,活动B开始活动C.如何清除堆栈中的当前活动?
现在堆栈包含B和C,C在顶部。
然后,我单击活动C中的一个按钮,并要求它清除B和C并启动活动A,即我希望活动A是堆栈中唯一的活动。我怎么做到的?
谢谢!
编辑:我做了一个测试,使用FLAG_ACTIVITY_CLEAR_TOP。但是在我的情况下它不起作用,因为当点击活动C中的按钮时活动A没有运行。
支持App开始活动A,然后A开始活动B并完成自己。之后,活动B开始活动C.如何清除堆栈中的当前活动?
现在堆栈包含B和C,C在顶部。
然后,我单击活动C中的一个按钮,并要求它清除B和C并启动活动A,即我希望活动A是堆栈中唯一的活动。我怎么做到的?
谢谢!
编辑:我做了一个测试,使用FLAG_ACTIVITY_CLEAR_TOP。但是在我的情况下它不起作用,因为当点击活动C中的按钮时活动A没有运行。
设置FLAG_ACTIVITY_CLEAR_TOP标志上你的意图开始活动A.
编辑:是否有一个原因,你不能离开的打算?那么你可以按照建议做。
否则,另一个(更复杂的)选项:
在B开始C forResult。当A从C开始时,您可以完成C,并显示指向B的结果也会退出。
Android doc说:“如果已设置,并且正在启动的活动已在当前任务中运行,则不是启动该活动的新实例,而是关闭其上的所有其他活动,并且此意图将作为一个新的Intent传递给(现在在最上面的)旧活动。“但在我的情况下,活动A没有运行,是否FLAG_ACTIVITY_CLEAR_TOP仍在工作? – user256239 2010-07-26 20:59:35
谢谢。我决定保持活动A运行。 – user256239 2010-07-26 22:16:50