关闭Android应用中第一个活动的所有活动

时间:2011-05-10 10:17:16

标签: android android-activity controls

我在Android应用程序中有一些活动,我想从第一个活动中关闭它们。

有办法吗?

6 个答案:

答案 0 :(得分:3)

您可以使用Intent调用活动A并设置FLAG_ACTIVITY_CLEAR_TOP标志。这会将活动A带到活动堆栈之上,并完成从A打开的活动。

如果活动A不是应用程序任务中的根活动,您可以尝试FLAG_ACTIVITY_CLEAR_TASK标记。

答案 1 :(得分:3)

请尝试以下方法。

    this.finish();
    this.moveTaskToBack(true);

答案 2 :(得分:2)

试试这个

    Intent intent = new Intent(getApplicationContext(),FirstActivityClass.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);              
    startActivity(intent);

答案 3 :(得分:0)

AFAIK,没有方法可以关闭应用程序中的所有活动,但您只需将包含该活动的任务移至后台(参见moveTaskToBack)。

或者您可以尝试发送广播并在onReceive中 - 完成接收广播的活动

答案 4 :(得分:0)

您可以在主要活动中定义活动的静态向量allActivities。在每个活动的构造函数中,您将对它的引用添加到静态向量中。在析构函数中,您将其删除。

每当你需要关闭所有这些时:

for (Activity a : MainActivity.allActivities) a.finish(); 
MainActivity.allActivities.clear();

答案 5 :(得分:0)

如果您有MainActivity> B> C> D> E活动和MainActivity是启动器,U按顺序调用所有内容而不调用任何人的完成:

Intent jump = new Intent(MainActivity.this, B.class);
//finish();
startActivity(jump);

<强>步骤

1)定义静态Vector act = new Vector();在主要活动(MainActivity活动)中添加act.add(this);

2)在所有活动中定义默认构造函数并添加如下参考:

public B()
{
MainActivity.allActivities.add(B.this);
}

3)点击每个退出按钮调用上面的代码:

for (Activity a : MainActivity.allActivities) a.finish(); 
MainActivity.allActivities.clear();

我希望这会有所帮助...... !!!