4

Androidのバージョンを比較するために、コードに条件を作成しようとしています。

if(version < 2.2)
{// TODO } 
else
{// TODO }

誰かがこれを行う方法を教えてもらえますか?

4

3 に答える 3

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
}
于 2016-06-09T12:19:34.697 に答える
4

を使用してそれらを整数バージョンとして比較できるBuild.VERSION.SDK_INTため、SDK v 2.2の場合は値付きの整数を取得し8、SDKv3.0の場合はを取得し11ます。

そして、Androidバージョンの質問をもう一度尋ねて回答する方法のこの束を見てください。検索ボックスを使用して、質問を書いている間に提供された関連する質問を一瞥することをお勧めします:)

于 2011-08-03T03:43:15.060 に答える
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");

お役に立てば幸いです。;)

于 2017-03-08T07:07:06.547 に答える