如何在logout android上完成多项活动

时间:2012-10-20 17:50:39

标签: android android-activity

在我的应用程序中,我一个接一个地开始活动而没有完成任何活动,然后再打电话给另一个。但是当用户按下注销按钮时,我想完成堆栈中的所有活动并开始登录活动。

  

活动登录(完成和通话) - >活动B - >活动C - >   活动D - >登出    - > Acitivity Login。

如果用户在登录活动中按回了键,那么在我的情况下他会返回活动C ...但我想避免这种情况。

2 个答案:

答案 0 :(得分:7)

你应该做的是调用Login活动,并清除堆栈中它上面的所有活动。

Intent intent = new Intent(this, Login.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

这将标记它以创建新的登录活动,而不仅仅是恢复上一个活动。并清除其上方的所有活动。 (B,C,D)。

答案 1 :(得分:0)

我不知道它是否会有所帮助,但您可以尝试向您的清单声明的活动(B,C,D)添加以下标记:

android:noHistory='true'

  

应该从活动堆栈中删除活动并完成   (当用户离开它时,它的finish()方法被调用)   它在屏幕上不再可见

看看here