package com.gettingmobile.android.content; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.util.Log; public final class ApplicationContextUtil { private static final String LOG_TAG = "goodnews.ApplicationContextUtil"; public static PackageInfo getPackageInfo(Context context) { try { final PackageManager pm = context.getPackageManager(); return pm.getPackageInfo(context.getPackageName(), 0); } catch (Exception ex) { // this will not happen as the package name is not dynamic but taken from the context Log.e(LOG_TAG, "Failed to determine package info", ex); return null; } } public static ApplicationInfo getApplicationInfo(Context context) { try { final PackageManager pm = context.getPackageManager(); return pm.getApplicationInfo(context.getPackageName(), 0); } catch (Exception ex) { // this will not happen as the package name is not dynamic but taken from the context Log.e(LOG_TAG, "Failed to determine application info", ex); return null; } } public static String getApplicationName(Context context) { return context.getPackageManager().getApplicationLabel(getApplicationInfo(context)).toString(); } }