package com.sogouchat.util; import java.util.List; import android.app.ActivityManager; import android.app.ActivityManager.RunningTaskInfo; import android.content.Context; public class ActivitityExistHelper { public static final int PACK_NOT = 0; public static final int PACK_IN = 1; public static final int PACK_IN_ITEM = 2; public static final int PACK_IN_LIST = 3; public static final int PACK_IN_NEW = 4; private static final String PACK_STR = "com.sogouchat"; private static final String ACTIVITY_STR_NEW = "com.sogouchat.popnewmsg.MultiPopTabActivity"; private static final String ACTIVITY_STR_LIST = "com.sogouchat.ui.ConversationListActivity"; private static final String ACTIVITY_STR_ITEM = "com.sogouchat.ui.ConversationActivity"; public static int GetCurrentAcitivity(Context context){ int nRet = PACK_NOT; RunningTaskInfo info = GetForeGroundTask(context); if (info!=null) { final String strPackString = info.topActivity.getPackageName(); final String strActivity = info.topActivity.getClassName(); if (PACK_STR.equals(strPackString)) { if (strActivity.equals(ACTIVITY_STR_ITEM)) { nRet = PACK_IN_ITEM; }if (strActivity.equals(ACTIVITY_STR_LIST)) { nRet = PACK_IN_LIST; }if (strActivity.equals(ACTIVITY_STR_NEW)) { nRet = PACK_IN_NEW; } else { nRet = PACK_IN; } } } return nRet; } public static RunningTaskInfo GetForeGroundTask(Context context){ ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); List<RunningTaskInfo> lInfos =activityManager.getRunningTasks(1); int nCount =lInfos.size(); String strProcessName=null; String strProcessClass = null; if (nCount>0) { RunningTaskInfo rInfo = lInfos.get(0); strProcessName = rInfo.topActivity.getPackageName(); strProcessClass = rInfo.topActivity.toString(); strProcessClass = rInfo.topActivity.getClassName(); return rInfo; } return null; } }