Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 清除活动堆栈_Android_Stack_Android Activity - Fatal编程技术网

Android 清除活动堆栈

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

嗨,我已经读了很多关于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);
似乎什么都不管用

下面是完整的方法代码

@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);
}