安卓判断当前版本号是否大于某个版本号 经常用低版本强制升级

public static String getVersionName() {
    String version = "";
    PackageManager packageManager = CCApplication.getInstance().getPackageManager();
    try {
        if (packageManager != null) {
            PackageInfo packInfo = packageManager.getPackageInfo(CCApplication.getInstance().getPackageName(), 0);
            if (packInfo != null) {
                version = packInfo.versionName;
                return version;
            }
        }
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
    return version;
}

public static boolean shouldUpdate(@NonNull String version, String minVersion) {

    List<String> versionNums = new ArrayList<>(Arrays.asList(version.split("\\.")));
    List<String> minVersionNums = new ArrayList<>(Arrays.asList(minVersion.split("\\.")));

    int len = Math.max(versionNums.size(), minVersionNums.size());
    for (int i = 0; i < len; i++) {
        if (versionNums.size() < i + 1) {
            versionNums.add("0");
        }

        if (minVersionNums.size() < i + 1) {
            minVersionNums.add("0");
        }

        int gap = Integer.valueOf(versionNums.get(i)) - Integer.valueOf(minVersionNums.get(i));
        if (gap != 0) {
            return gap < 0;
        }
    }

    return true;
}

猜你喜欢

转载自blog.csdn.net/Jason_HD/article/details/80068300
今日推荐