我在Android应用程序中有一些活动,我想从第一个活动中关闭它们。
有办法吗?
答案 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();
我希望这会有所帮助...... !!!