2016-06-14 124 views
0

我知道关于这个主题已经有很多关于堆栈溢出的问题,但没有任何工作适合我。我想实现的是我想清除所有的活动回来堆栈上的一个特定的方法调用。清除活动回栈android

可以说我在我的应用程序中有一个入口点,即login()方法。现在我从五个不同的活动中调用这个方法。登录后总是会显示一个屏幕。现在我想实现的是,不管从何处调用方法,如果登录成功,则用户应该转到下一个活动(activity2),并且在该活动(活动2)的两倍时间后面按下时,用户应该不在的应用程序。那是我想我的活动回栈成功清除login()方法。

这就是我正在做的登录成功,但它没有帮助。

Intent i = new Intent(context, DrawerActivity.class); 
              i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY|Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(i); 
((Activity)context).finish(); 

如何做到这一点?

在此先感谢:)

回答

0

如果用户成功登录,然后打开你的第二个主要活动通过以下标志:

Intent intent = new Intent(this, ActivitySecond.class); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
      startActivity(intent); 
      finish(); 
+0

它没有帮助,您可以看到编辑。我已经试过 – Newbiee

+0

你能否显示你的这两个活动的清单声明? –

0
Intent intent = new Intent(this, Example.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP 
       | Intent.FLAG_ACTIVITY_CLEAR_TASK 
       | Intent.FLAG_ACTIVITY_NEW_TASK); 

startActivity(intent);