我知道关于这个主题的堆栈溢出已经有很多问题,但没有什么对我有用。我想要实现的是我想清除特定方法调用上的所有活动回栈。
假设我的应用中有一个 login()
方法的入口点。现在我从五个不同的活动中调用这个方法。登录后始终会显示一个屏幕。现在我想要实现的是,无论从哪个 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 :(得分:0)
如果用户成功登录,则使用以下标志打开您的第二个主要活动:
Intent intent = new Intent(this, ActivitySecond.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
答案 1 :(得分: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);