2013-05-30 173 views
1

想象一下,您有两个活动 - A和B.您从A开始B.在B中您有一个任务。如果任务已完成,则在想要关闭整个应用程序时,如果未按下回车键,则要返回到A.但解雇后,您可以从最近的应用程序菜单恢复B.如果在此之后您需要相同的后退键。在两个活动之间切换

所以我想解雇只有一个活动或整个应用程序(但与恢复可能性)。有没有办法实现这一目标?

回答

1

ActivityB覆盖onBackPressed()如果任务完成,只需拨打super.onBackPressed()将完成ActivityB并返回到ActivityA。否则,要解雇整个应用程序只使用moveTaskToBack(),并不要拨打super.onBackPressed()。当用户返回到应用程序时,将显示ActivityB(因为它尚未完成)。

+0

是的,但是如果moveTaskToBack()被调用,那么当任务完成时,我将按回来键,整个应用程序仍然会被解除。就我所知,没有办法将活动B移到堆栈的前面。 – Lingviston

+0

对不起,不明白。如果您的活动堆栈包含“ActivityA-> ActivityB”,并且您将此任务移动到后台,然后将其带回前台,您仍然拥有前面带有“ActivityB”的“ActivityA-> ActivityB”。请更多解释你在做什么。 –

+0

对不起,你是对的:) – Lingviston