我有一个具有下一个图表的应用程序
如果我按到不同的上一个路径到达活动B,如果我按下主页按钮并再次打开应用程序,则显示正确的活动B但是如果我使用"返回"按钮而不是主页按钮,当我再次打开应用程序时,我显示活动A而不是最后一个活动B.
我完成了之前的所有活动,一个是我到达B,B是唯一一个活跃的,所有以前的(ACD)都是关闭的,因为如果我点击了#34;返回"在活动B按钮我不想去AC或D只是行动将应用程序发送到后台。
答案 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()