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;
}
}