Application 判断当前是否还有Activity处于激活状态

来源:互联网 发布:js按钮置灰 不可点击 编辑:程序博客网 时间:2024/04/29 07:24
<pre name="code" class="java">package com.pencho.pai.util;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.assist.QueueProcessingType;import android.app.Activity;import android.app.Application;import android.content.Context;import android.os.Build;import android.os.StrictMode;/** * manageApplication是用于判断当前是否还有Activity处于激活状态 * *  */public class ManageApplication extends Application {private HashMap<String, Boolean> mapActivity = new HashMap<String, Boolean>();// 用于存储activity对应的激活状态private static ManageApplication application = null;@Overridepublic void onCreate() {if (Constant.DEVELOPER_MODE && Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectAll().penaltyDialog().build());StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll().penaltyDeath().build());}super.onCreate();application = this;initImageLoader(getApplicationContext());}public void addActivityStatus(Activity activity, boolean isAlive) {if (mapActivity.containsKey(activity.getClass().getName())) {mapActivity.remove(activity.getClass().getName());mapActivity.put(activity.getClass().getName(), isAlive);} else {mapActivity.put(activity.getClass().getName(), isAlive);}}/** * 配置ImageLoaderConfiguration这个类实现全局ImageLoader的实现情况。 * @param context */public static void initImageLoader(Context context) {ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context).threadPriority(Thread.NORM_PRIORITY - 2).denyCacheImageMultipleSizesInMemory().discCacheFileNameGenerator(new Md5FileNameGenerator()).tasksProcessingOrder(QueueProcessingType.LIFO).writeDebugLogs().build();ImageLoader.getInstance().init(config);}/** * 当前应用是否还有activity处于活动状态 * @return */public boolean isAllActivityAlive() {boolean res = false;Iterator iter = mapActivity.entrySet().iterator();while (iter.hasNext()) {Map.Entry entry = (Map.Entry) iter.next();Object key = entry.getKey();boolean value = (Boolean) entry.getValue();if (value) {return true;}}return res;}public static ManageApplication getInstance() {return application;}}


                                             
0 0
原创粉丝点击