Android获取高清app图标代码分享

Android获取高清app图标只有一个方法,具体内容如下

public synchronized static Drawable getIconFromPackageName(String packageName, Context context) {
  PackageManager pm = context.getPackageManager();
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
   try {
    PackageInfo pi = pm.getPackageInfo(packageName, 0);
    Context otherAppCtx = context.createPackageContext(packageName, Context.CONTEXT_IGNORE_SECURITY);
    int displayMetrics[] = {DisplayMetrics.DENSITY_XXXHIGH,DisplayMetrics.DENSITY_XXHIGH,DisplayMetrics.DENSITY_XHIGH, DisplayMetrics.DENSITY_HIGH, DisplayMetrics.DENSITY_TV};
    for (int displayMetric : displayMetrics) {
     try {
      Drawable d = otherAppCtx.getResources().getDrawableForDensity(pi.applicationInfo.icon, displayMetric);
      if (d != null) {
       return d;
      }
     } catch (Resources.NotFoundException e) {
      continue;
     }
    }
   } catch (Exception e) {
    // Handle Error here
   }
  }
  ApplicationInfo appInfo = null;
  try {
   appInfo = pm.getApplicationInfo(packageName, 0);
  } catch (PackageManager.NameNotFoundException e) {
   return null;
  }
  return appInfo.loadIcon(pm);
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。