如何比较安卓系统版本

5
我正在尝试在代码中创建一个条件来比较Android版本。类似于:
if(version < 2.2)
{// TODO } 
else
{// TODO }

请问有人能告诉我如何实现这个吗?

请仅返回翻译后的文本:复制https://dev59.com/1nA75IYBdhLWcg3wB0VP - denis.solonenko
请参考此线程:https://dev59.com/jXA75IYBdhLWcg3wMmCo - NguyenDat
我发现了一个关于比较的好帖子,阅读后感觉非常棒:http://www.osbuzzer.com/f5/difference-between-android-2-2-froyo-android-2-3-gingerbread-158/ - user876567
3个回答

5
您可以使用Build.VERSION.SDK_INT将它们作为整数版本进行比较,因此对于SDK v2.2,您将获得值为8的整数,而对于SDK v3.0,您将获得11
请查看这个如何在运行时获取Android版本的问题,建议您在撰写问题时使用搜索框,并浏览提供的相关问题 :)

Ayublin,你是救星。非常感谢!! - user788511

5
使用此代码:
int currentVersion = android.os.Build.VERSION.SDK_INT;
if (currentVersion >= android.os.Build.VERSION_CODES.LOLLIPOP){
    // Do something for lollipop and above versions
} else{
    // do something for phones running an SDK before lollipop
}

1
尝试这个:

试试这个:

private boolean compareVersion(String currrentsVersion, String officialVersion) {
    isEqual = false;

    String[] string1 = currrentsVersion.split("[.]");
    String[] string2 = officialVersion.split("[.]");
    Integer[] number2 = new Integer[string2.length];

    Integer[] numbers = new Integer[string2.length];


    for (int i = 0; i < string2.length; i++) {
        if (string1.length-1<i)
            numbers[i] = 0;
        else
            numbers[i] = Integer.parseInt(string1[i]);
        System.out.println("number1 ::: " + numbers[i]);
    }


    for (int i = 0; i < string2.length; i++) {
        number2[i] = Integer.parseInt(string2[i]);
        System.out.println("number2 ::: " + number2[i]);
    }

    for (int i = 0; i < number2.length; i++) {
        if (number2[i] > numbers[i]) {
            isEqual = false;
            break;
        } else {
            isEqual = true;
        }
    }
    return isEqual;
}

在需要比较版本的地方调用此方法。

if (compareVersion(getVersionInfo(), officialVersion)) 
    tvUpdateStatus.setText("Have the latest version installed :) ");
else 
    tvUpdateStatus.setText("Plz Update the Application");

我希望它能够帮助到你。 ;)


请在代码之外提供一些解释。 - Jan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接