Android获取APP的应用程序名称、包名、图标,版本号基本信息

经常会用到 获取App信息,可以用这个工具类,可以获得 APP的应用程序名称、包名、图标,版本号基本信息

/跟App相关的辅助类  
public class AppUtils {  
  
    /** 
     * 获取应用程序名称 
     */  
    public static synchronized String getAppName(Context context) {  
        try {  
            PackageManager packageManager = context.getPackageManager();  
            PackageInfo packageInfo = packageManager.getPackageInfo(  
                    context.getPackageName(), 0);  
            int labelRes = packageInfo.applicationInfo.labelRes;  
            return context.getResources().getString(labelRes);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return null;  
    }  
  
    /** 
     * [获取应用程序版本名称信息] 
     * @param context 
     * @return 当前应用的版本名称 
     */  
    public static synchronized String getVersionName(Context context) {  
        try {  
            PackageManager packageManager = context.getPackageManager();  
            PackageInfo packageInfo = packageManager.getPackageInfo(  
                    context.getPackageName(), 0);  
            return packageInfo.versionName;  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return null;  
    }  
  
  
    /** 
     * [获取应用程序版本名称信息] 
     * @param context 
     * @return 当前应用的版本名称 
     */  
    public static synchronized int getVersionCode(Context context) {  
        try {  
            PackageManager packageManager = context.getPackageManager();  
            PackageInfo packageInfo = packageManager.getPackageInfo(  
                    context.getPackageName(), 0);  
            return packageInfo.versionCode;  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return 0;  
    }  
  
  
    /** 
     * [获取应用程序版本名称信息] 
     * @param context 
     * @return 当前应用的版本名称 
     */  
    public static synchronized String getPackageName(Context context) {  
        try {  
            PackageManager packageManager = context.getPackageManager();  
            PackageInfo packageInfo = packageManager.getPackageInfo(  
                    context.getPackageName(), 0);  
            return packageInfo.packageName;  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return null;  
    }  
  
  
    /** 
     * 获取图标 bitmap 
     * @param context 
     */  
    public static synchronized Bitmap getBitmap(Context context) {  
        PackageManager packageManager = null;  
        ApplicationInfo applicationInfo = null;  
        try {  
            packageManager = context.getApplicationContext()  
                    .getPackageManager();  
            applicationInfo = packageManager.getApplicationInfo(  
                    context.getPackageName(), 0);  
        } catch (PackageManager.NameNotFoundException e) {  
            applicationInfo = null;  
        }  
        Drawable d = packageManager.getApplicationIcon(applicationInfo); //xxx根据自己的情况获取drawable  
        BitmapDrawable bd = (BitmapDrawable) d;  
        Bitmap bm = bd.getBitmap();  
        return bm;  
    }  
  
}  

猜你喜欢

转载自blog.csdn.net/qwer492915298/article/details/88530438