假设有两个活动:
1. 活动A(启动活动)
2. 活动B启动活动不从最近应用发起
当从启动活动B活动A,我完成了活动A。
startActivity(new Intent(A.this, B.class));
finish();
。如果退出按钮从活动B,则活动B点击拿完。
ExitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
因此,假设活动B得到来自活动A启动,我得到活动B(或退出应用程序)的出口。有2个选项,从那里的应用程序来启动:
1.启动器图标
2.从最近访问的应用
现在,如果应用程序从启动器图标推出,然后活动A得到启动。但如果应用程序从启动最近的应用程序,然后活动B启动。
我认为,活动B留在堆栈,即使我电话完成()它。
我的问题是:如何在应用程序退出时清除堆栈?在安卓2.3.6版
简单的答案:你不能这是一个Android设计,关于这个问题有几个关于Stackoverflow的问题和答案。是一些奇怪的解决方案,但他们都不是真正的工作或100%的API一致 – brummfondel 2014-12-03 09:37:04
我认为你直接从活动A开始活动B,没有任何输入,也关闭活动A,所以当你从最近启动应用程序可能看起来像活动B将直接显示,而不是活动A. – 2014-12-03 09:37:35
另一种解决方案可能是使用片段,在onCreate()设置您的默认片段 – 2014-12-03 09:40:26