Android 清除活动堆栈
嗨,我已经读了很多关于stackoverflow的帖子,但是我仍然不能解决这个问题。 我需要清除我的活动堆栈,但以下命令无效:Android 清除活动堆栈,android,stack,android-activity,Android,Stack,Android Activity,嗨,我已经读了很多关于stackoverflow的帖子,但是我仍然不能解决这个问题。 我需要清除我的活动堆栈,但以下命令无效: intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 我还尝试了以下api 15 android4.0.3 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 似乎什么都不管用 下面是完整的方法代码 @Overr
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
我还尝试了以下api 15 android4.0.3
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
似乎什么都不管用
下面是完整的方法代码
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent(this, FiltriAnagraficaPagina.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
试一试
这可能对你有帮助
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addCategory(Intent.CATEGORY_HOME);
////////////////////////////////////
根据您的评论进行编辑
as you start activity B
finish activity A
and on backpress of activity B
start activity A
重写活动中的onKeyDown()方法,而不是onBackPressed()
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent intent = new Intent(this, FiltriAnagraficaPagina.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
}
return super.onKeyDown(keyCode, event);
}
它不会改变任何事情…啊,我尝试了很多事情,但都没有工作。我真的很绝望。还有别的办法吗?我已经在评论中给出了一个链接,请检查我是否读过。(我也在寻找那个问题),但它仍然给我留下了同样的问题。有没有办法用androidmanifest.xml解决这个问题?好的。我说有两个活动A,B。A请求Web服务/db获取数据,活动B显示了它。然后,当我按下back键时,我想返回活动A以发出新请求。但实际情况是,活动2仍在运行,因此当活动A执行请求并希望将数据放入活动B时,它无法执行,因为它已经满了。明白吗?
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent intent = new Intent(this, FiltriAnagraficaPagina.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return true;
}
return super.onKeyDown(keyCode, event);
}