按下返回按钮时关闭应用程序

时间:2014-06-04 15:01:32

标签: android android-activity

我有一个具有下一个图表的应用程序

http://i.stack.imgur.com/bSIFw.jpg

如果我按到不同的上一个路径到达活动B,如果我按下主页按钮并再次打开应用程序,则显示正确的活动B但是如果我使用"返回"按钮而不是主页按钮,当我再次打开应用程序时,我显示活动A而不是最后一个活动B.

我完成了之前的所有活动,一个是我到达B,B是唯一一个活跃的,所有以前的(ACD)都是关闭的,因为如果我点击了#34;返回"在活动B按钮我不想去AC或D只是行动将应用程序发送到后台。

2 个答案:

答案 0 :(得分:5)

当您按下时,默认情况下您完成当前活动。

如果您的所有其他活动也已完成,则下次打开应用程序时,它只能打开默认入口点(在您的情况A中)

要实现您要执行的操作,您必须保持活动未完成(因此在后台堆栈中),并覆盖B中后退按钮的行为:

public void onBackPressed() {
     moveTaskToBack(true);
}

这将使B处于暂停状态,显示以前的应用程序(可以是主页,或者可以是您调用自己的应用程序的应用程序)。下次启动应用程序时,可以直接在B中恢复。

答案 1 :(得分:1)

只是喜欢..

在你的活动B中,通过覆盖它来添加以下代码:...:

Intent intent = new Intent(B.this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);

在你的activity A中创建一个类似的方法:

private void exitApplication(){
 if (getIntent().getBooleanExtra("EXIT", false)) {
        finish();
  }
}

并在onCreate()

中调用它