当任务被带到前面时,Android会避免启动新的Activity

时间:2014-05-13 11:21:41

标签: android android-activity back-stack

我有一个启动器活动A,它立即启动第二个活动B并完成。然后,活动B启动活动C并完成。 所以backstack现在只包含Activity C. 当用户按下主页按钮并重新启动应用程序(通过单击图标)而不是将C带到前面时,将调用启动器活动A.现在堆栈变为C-> A. A立即启动B并且最终堆栈看起来是C-> B.

我只想恢复活动C.我已经阅读了任务和返回堆栈指南,但不确定要使用的正确标志。任何帮助表示赞赏。

编辑:启动活动时,我在清单或意图标记中没有任何启动模式标志。

1 个答案:

答案 0 :(得分:3)

使用此代码..

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) { 
        // Activity was brought to front and not created, 
        // Thus finishing this will get us to the last viewed activity 
        finish(); 
        return; 
    } 

    // Regular activity creation code... 
} 

此代码始终使应用程序打开您离开的最后一个活动