Как я могу проверить в коде версию Android как 1.5 или 1.6 - PullRequest
15 голосов
/ 10 июня 2010

Мне нужно проверить в коде, какая версия Android работает на целевом устройстве. Можете ли вы привести пример кода?

Ответы [ 5 ]

25 голосов
/ 18 ноября 2010

Я искал это и не нашел решения - закончил здесь, и я понял это сам, так что для любого, кто ищет это:

int SDK_INT = android.os.Build.VERSION.SDK_INT;

этовозвращает OS SDK уровня 7 эклер 8 Froyo и т. д.

9 голосов
/ 16 ноября 2012

Чтобы получить версию сборки Android, такую ​​как: 2.2, 2.3.3, 4.0 или 4.0.3 ... , используйте следующий код:

String deviceVersion = Build.VERSION.RELEASE;
1 голос
/ 21 июня 2010

Можете ли вы выполнить getprop ro.build.version.release команду оболочки на вашем устройстве?

1 голос
/ 20 июня 2010

Я думаю, что это дубликат моего собственного вопроса: ndk версия во время выполнения . Краткий ответ: у нативного приложения нет простого способа сделать это (однако вы можете запустить приложение Java и связаться с ним, чтобы получить версию).

0 голосов
/ 24 июня 2010

Это работает

и импортирует следующее:

import com.android.phonetests.TEST_INTERFACE;
import android.os.Build;
import android.app.ActivityThread;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageManager;


private int GetSDKVersion()
{
    int version = 0;
    IPackageManager pm = ActivityThread.getPackageManager();
    try
    {
        //returns a ref to my application according to its application name
        ApplicationInfo applicationInfo = pm.getApplicationInfo("com.android.phonetests", 0);

        if (applicationInfo != null) 
        {           
            version = applicationInfo.targetSdkVersion; ////this makes the same -> version = Build.VERSION.SDK_INT
            Log.i(LOG_TAG,"[DBG] version: " + version);  

            //2 is 5
            //2.01 6 (Donut - 2.01)
            //2.2  7 (Eclair - 2.2) currently it is Eclair_MR1 (Major Release)                  
            switch (version) 
            {                           
                case Build.VERSION_CODES.ECLAIR_MR1:
                Log.i(LOG_TAG,"[DBG] version: ECLAIR");//2.2  7 (Eclair - 2.2) currently it is Eclair_MR1 (Major Release)
                break;
                case Build.VERSION_CODES.DONUT:
                Log.i(LOG_TAG,"[DBG] version: DONUT");//2.01 6 (Donut - 2.01)
                break;
            }
        }
    } 
    catch (android.os.RemoteException e){}      
    return version;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...