在我的 android 应用程序中,我编写了以下代码来清除活动堆栈,但此代码不起作用,因此我请求您提供有关此的工作片段。
Intent intent = new Intent(UserProfile.this, Login.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
startActivity(intent);
感谢您
在我的 android 应用程序中,我编写了以下代码来清除活动堆栈,但此代码不起作用,因此我请求您提供有关此的工作片段。
Intent intent = new Intent(UserProfile.this, Login.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
startActivity(intent);
感谢您
您可以使用 ActivityName.this.finish()。
Intent intent = new Intent(UserProfile.this, Login.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
YourActivityName.this.finish();
如果当前 Activity 是 A 并且你想启动 B Activity,并且 C 和 D 在后台暂停,FLAG_ACTIVITY_CLEAR_TOP 将完成 C 和 D 而不是 A。
有一个变通方法可以让你完成一个活动。创建一个“静态”处理程序,它可以在 A 活动中接收消息时执行完成(),然后在 B 活动开始时使用来自 A 的静态处理程序发送消息。
在 API 级别 11 中添加了一个新的意图标志:Intent.FLAG_ACTIVITY_CLEAR_TASK
试试这个标志。例子 :
Intent intent = new Intent(UserProfile.this, Login.class)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
finish();
startActivity(intent);