前因
因业务需要需要管理所有的Activity,在大百度以及谷歌搜索了很多赶脚有些麻烦,在前辈的基础上进行了改版,不过这个方法可能很多人都懂,大神勿喷。大体就是写个抽象类。
话不多说直接上代码
代码(Application)
private static List<Activity> mActivityLists ;
private static MyApplication application;
@Override
public void onCreate() {
super.onCreate();
mActivityLists = new ArrayList<Activity>();
application = new MyApplication();
}
public static MyApplication getApplication(){
if(application==null){
application = new MyApplication();
}
return application;
}
public void addActivity(Activity activity){
// Collections.synchronizedList(list)
mActivityLists.add(activity);
}
public void removeActivity(Activity activity){
try {
mActivityLists.remove(activity);
} catch (Exception e) {
e.printStackTrace();
}
};
public void exitedSystem(){
try {
for(Activity activity : mActivityLists){
if(activity!=null){
activity.finish();
}
}
} catch (Exception e) {
e.printStackTrace();
}finally{
System.exit(Context.MODE_PRIVATE);
}
}
接下来是一个抽象类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyApplication.getApplication().addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
MyApplication.getApplication().removeActivity(this);
}