Android examples for android.app:Activity Property
get Task Packname from ActivityManager
import android.annotation.SuppressLint; import android.annotation.TargetApi; import android.app.ActivityManager; import android.app.usage.UsageStats; import android.app.usage.UsageStatsManager; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Build; import android.provider.Settings; import android.util.Log; import java.lang.reflect.Field; import java.util.List; import java.util.SortedMap; import java.util.TreeMap; public class Main{ public static String getTaskPackname(Context context) { ActivityManager.RunningAppProcessInfo currentInfo = null; Field field = null;/*from ww w.java 2 s .c o m*/ int START_TASK_TO_FRONT = 2; String currentApp = "CurrentNULL"; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { try { field = ActivityManager.RunningAppProcessInfo.class .getDeclaredField("processState"); } catch (Exception e) { e.printStackTrace(); } ActivityManager am = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> appList = am .getRunningAppProcesses(); for (ActivityManager.RunningAppProcessInfo app : appList) { if (app.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) { Integer state = null; try { assert field != null; state = field.getInt(app); } catch (Exception e) { e.printStackTrace(); } if (state != null && state == START_TASK_TO_FRONT) { currentInfo = app; break; } } } if (currentInfo != null) { currentApp = currentInfo.processName; } } else { ActivityManager am = (ActivityManager) context .getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> tasks = am .getRunningAppProcesses(); currentApp = tasks.get(0).processName; } return currentApp; } }