package com.jumige.android.ui.template.base; import android.content.Context; import android.content.Intent; import android.support.multidex.MultiDex; import android.support.multidex.MultiDexApplication; import java.util.HashSet; import java.util.Set; /** * Created by cyning on 12/2/14. */ public class DroidApplication extends MultiDexApplication { protected final Set<BaseActivity> activityPool = new HashSet<BaseActivity>(); protected final Set<String> serviceNamePool = new HashSet<String>(); @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); } @Override public void onCreate() { super.onCreate(); initConfig(); } protected void initConfig() { } @Override public void onTerminate() { super.onTerminate(); } public void addActivity(BaseActivity activity) { activityPool.add(activity); } public void removeActivity(BaseActivity activity) { activityPool.remove(activity); } public void addService(String serviceName) { serviceNamePool.add(serviceName); } public void exit() { for (BaseActivity ac : activityPool) { ac.finish(); } for (String serviceName : serviceNamePool) { try { stopService(new Intent(this, Class.forName(serviceName))); } catch (ClassNotFoundException e) { e.printStackTrace(); } } onTerminate(); } public Set<BaseActivity> getAllActivity() { return activityPool; } }