Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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 活动不从后堆栈清除,即使是从方法意图。标记\u活动\u清除\u顶部_Android_Android Studio_Start Activity - Fatal编程技术网

Android 活动不从后堆栈清除,即使是从方法意图。标记\u活动\u清除\u顶部

Android 活动不从后堆栈清除,即使是从方法意图。标记\u活动\u清除\u顶部,android,android-studio,start-activity,Android,Android Studio,Start Activity,我想转到其他活动,但在我想清除所有其他活动之前。我知道方法Intent.FLAG_ACTIVITY_CLEAR_TOP,但当我在移动后按后退键时,它不起作用,然后再次显示上一个活动。 我的代码是 Intent intent = new Intent(LoginActivity.this, WelcomeActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); progr

我想转到其他活动,但在我想清除所有其他活动之前。我知道方法Intent.FLAG_ACTIVITY_CLEAR_TOP,但当我在移动后按后退键时,它不起作用,然后再次显示上一个活动。 我的代码是

 Intent intent = new Intent(LoginActivity.this, WelcomeActivity.class);
 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 startActivity(intent);
 progressDialog.dismiss();

感谢您的支持有时它不起作用,您应该在代码中添加这一行

        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |Intent.FLAG_ACTIVITY_NEW_TASK | 
        Intent.FLAG_ACTIVITY_CLEAR_TASK);
这将帮助你,希望你的问题会得到解决。 我在代码中添加了这一行,添加这一行后,代码将如下所示

 Intent intent = new Intent(LoginActivity.this, WelcomeActivity.class);
 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
    Intent.FLAG_ACTIVITY_CLEAR_TASK |
    Intent.FLAG_ACTIVITY_NEW_TASK);
 startActivity(intent);
 progressDialog.dismiss();
用上述代码替换您的代码。

添加三个标志:

 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);

如果你只有一个TOP,那么CLEAR_TOP only work意味着只有一个活动,所以你还需要添加意图。明确任务和意图。新任务,代码如下所示

   intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
    Intent.FLAG_ACTIVITY_CLEAR_TASK |
    Intent.FLAG_ACTIVITY_NEW_TASK);

CLEAR_TOP
仅在活动启动模式为
singleTop
时有效。