前言
在Android开发中,常常想在某一个Activity或者Service中关闭所有打开的Activity。一直没有十分统一可行的方法。下面结合网络和自己的在项目中遇到的情况,给出一种实现方法。
- 创建一个类CloseAllActivity继承
Application
类。- 在该类内部创建一个
List
集合,用于保存打开的Activity。- 创建一个
public void addActivity(Activity activity)
方法,用于在Activity的onCreate(Bundle bundle)
中调用。使该Activity被添加到List集合中。- 创建一个静态对象,并将其实例化一次,避免每次使用都得实例化。
- 在需要添加到List集合中的Activity中,调用。
- 编写一个exit()函数,关闭List集合中的所有Activity。
CloseAllActivity类具体代码如下:
1 | public class CloseAllActivity extends Application { |
需要添加到List集合中关闭的Activity中,引用的方法为:
1
2
3
4
5
6 public void onCreate(Bundle bundle) {
super.onCreate(bundle);
CloseAllActivity.getInstance().addActivity(this);
....
....
}