PackageUtils(一个获取APP版本信息的工具类)

用途:用于APP更新
功能:
1.获取当前应用的名称:getAppName
2.获取当前应用的版本号:getVersionCode
3.获取当前应用的版本名称:getVersionName

/*用途
* 1.获取当前应用的名称:getAppName
* 2.获取当前应用的版本号:getVersionCode
* 3.获取当前应用的版本名称:getVersionName
 */
public class PackageUtils {
    public PackageUtils() {
    }
    /*
     * 获取当前应用的名称
     */
    public static String getAppName(Context context) {
        //获取 PackageManager
        PackageManager pm = context.getPackageManager();
        try {
            //通过PackageManager这个Api可以拿到应用的一些信息
            //packgeName:包名   flag:获取额外信息的标识
            PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 0);
            int labelRes = packageInfo.applicationInfo.labelRes;
            ////拿到App名称
            return context.getResources().getString(labelRes);

        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return null;
    }
    /*
     * 获取当前应用的版本号
     */
    public static int getVersionCode(Context context) {
        //获取 PackageManager
        PackageManager pm = context.getPackageManager();
        //通过PackageManager这个Api可以拿到应用的一些信息
        //packgeName:包名   flag:获取额外信息的标识
        try {
            PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 0);
            //拿到版本号
            return packageInfo.versionCode;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return -1;
    }

    /*
     * 获取当前应用的版本名称
     */
    public static String getVersionName(Context context) {
        PackageManager pm= context.getPackageManager();
        try {
            PackageInfo packageInfo = pm.getPackageInfo(context.getPackageName(), 0);
            //拿到版本名称
            return packageInfo.versionName;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return null;
    }


}
发布了77 篇原创文章 · 获赞 411 · 访问量 27万+

猜你喜欢

转载自blog.csdn.net/qq_42761395/article/details/99309149
今日推荐