1 public class MainApp extends Application {
 2     
 3      private static ArrayList<WeakReference<Activity>> activitys;
 4      public volatile static MainApp instance;
 5     @Override
 6     public void onCreate() {
 7         // TODO Auto-generated method stub
 8         super.onCreate();
 9 10     }
11     
12     public MainApp() {
13         // TODO Auto-generated constructor stub
14     }
15     public static MainApp getInstance(){
16         if(instance==null){
17             synchronized (MainApp.class) {
18                 if(instance==null){
19                     instance=new MainApp();
20                 }
21             }
22         }
23         return instance;
24     }
25     
26         public static void addActivity(Activity context) {
27             if(activitys==null){
28                 activitys=new ArrayList<WeakReference<Activity>>();
29             }
30             activitys.add(new WeakReference<Activity>(context));
31         }
32 
33         public static void removeActivity(Activity activity) {
34             
35             if(activity!=null){
36                 
37                 activitys.remove(new WeakReference<Activity>(activity));
38                 activity.finish();
39                 activity=null;
40             }
41             
42         }
43 
44         public static void finishAllActivity() {
45             Activity activity;
46             for (int i = activitys.size() - 1; i >= 0; i--) {
47                 activity = activitys.get(i).get();
48                 if (activity != null && !activity.isFinishing()) {
49                     activity.finish();
50                 }
51             }
52             activitys.clear();
53         }
54     

 

posted on 2015-04-16 15:46  runleo  阅读(162)  评论(0)    收藏  举报