package com.num.utils; import java.util.List; import android.app.ActivityManager; import android.app.ActivityManager.RunningAppProcessInfo; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.graphics.drawable.Drawable; public class AppUsageUtil { public static String getAppLabel(Context c, int uid) { PackageManager pm = c.getPackageManager(); String label = null; try { String name = pm.getPackagesForUid(uid)[0]; label = (String) pm.getApplicationLabel(getAppInfo(c,name)); } catch (NameNotFoundException e) { // e.printStackTrace(); } catch (NullPointerException e) { label = "unknown(uid=" + uid + ")"; } return label; } public static String getAppPkg(Context c, int uid) throws NullPointerException { PackageManager pm = c.getPackageManager(); String name = pm.getPackagesForUid(uid)[0]; return name; } private static ApplicationInfo getAppInfo(Context c, String name) throws NameNotFoundException { PackageManager pm = c.getPackageManager(); return pm.getApplicationInfo(name, PackageManager.GET_UNINSTALLED_PACKAGES); } public static Drawable getAppIcon(Context c, int uid) { PackageManager pm = c.getPackageManager(); Drawable icon = null; try { String name = pm.getPackagesForUid(uid)[0]; icon = (Drawable) getAppInfo(c,name).loadIcon(pm); } catch (NameNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NullPointerException e) { icon = null; } return icon; } }