Java 将一堆活动清理到顶部

Java 将一堆活动清理到顶部,java,android,eclipse,Java,Android,Eclipse,我想执行一个注销功能,在该功能中,我想在注销之前清除所有活动,并启动一个新的登录活动 这是我的密码 Utilities.logoutPlayerDefaults(Profile.this); Utilities.vibrate(Profile.this); Intent myIntent = new Intent (Profile.this,FBLogin.class); myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivi

我想执行一个注销功能,在该功能中,我想在注销之前清除所有活动,并启动一个新的登录活动

这是我的密码

Utilities.logoutPlayerDefaults(Profile.this);
Utilities.vibrate(Profile.this);
Intent myIntent = new Intent (Profile.this,FBLogin.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(myIntent);
但它不起作用。如果我按“上一步”按钮,我将返回到配置文件

尝试以下方法

@Override
public void onBackPressed() 
{
   Intent myIntent = new Intent (Profile.this,FBLogin.class);
   myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
   myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
   myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   startActivity(myIntent);
   super.onBackPressed();
}

将代码更改为以下内容:

Utilities.logoutPlayerDefaults(Profile.this);
Utilities.vibrate(Profile.this);
Intent myIntent = new Intent (Profile.this,FBLogin.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(myIntent);
finish();

您在问题中并没有提到API级别。后退按钮的作用是按照其设计的方式工作。为什么要覆盖该功能。您有操作栏和导航抽屉来帮助您。@Raghunandan如果我按backBtn,应用程序应该关闭,而不是显示最后的活动。我想清除位于的活动堆栈logout@MuhammadUmar,为什么不使用
finish()。我与其他开发人员进行了长时间的讨论,我浏览了文档,我觉得使用操作栏是正确的,后退按钮应该会将您带到上一个屏幕,在文档中也没有任何地方,他们建议覆盖后退按钮功能check@Muhammad Umar check my Response可能您没有在活动中调用finish,因此在按下后退按钮时,您将获得配置文件活动。尝试无效。实际上,让我们假设我们现在有MainMenu>Profile,如果我注销到Profile,然后完成,然后转到FBClass,那么只有Profile让路,如果我按back,我将转到MainMenu。这不是我想要的,如果我在登录前返回i-e无活动,我希望应用程序关闭。