嗨我已经阅读了关于该主题的stackoverflow上的很多帖子,但我仍然无法解决问题。 我需要清除我的活动堆栈,但是下面的命令doest工作:
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);
}
答案 0 :(得分:1)
尝试
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK)
答案 1 :(得分:0)
这可能会对你有所帮助
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
答案 2 :(得分:0)
在您的活动中覆盖 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);
}