Получите Android-уровень Android, на котором в настоящее время работает мое приложение

Возможный дубликат:
Программно получить уровень API Android на устройстве?

Как мне получить уровень Api в телефоне, в котором работает мое приложение? Я уверен, что он прост, но я не могу найти его, поскольку все мои поиски поднимают тонны мусора.

Ответ 1

Отметьте android.os.Build.VERSION, который является статическим классом, который содержит различную информацию о ОС Android, на которой работает система.

Если вы заботитесь обо всех возможных версиях (вернуться к исходной версии Android), так как в minSdkVersion установлено значение меньше 4, вам придется использовать android.os.Build.VERSION.SDK, это String, которое можно преобразовать в целое число выпуска.

Если вы используете хотя бы API версии 4 (Android 1.6 Donut), текущий рекомендуемый способ получения уровня API заключается в проверке значения android.os.Build.VERSION.SDK_INT, которое является целым числом.

В любом случае целое число, которое вы получаете, соответствует значению enum из всех значений, определенных в android.os.Build.VERSION_CODES:

SDK_INT value        Build.VERSION_CODES        Human Version Name       
    1                  BASE                      Android 1.0 (no codename)
    2                  BASE_1_1                  Android 1.1 Petit Four
    3                  CUPCAKE                   Android 1.5 Cupcake
    4                  DONUT                     Android 1.6 Donut
    5                  ECLAIR                    Android 2.0 Eclair
    6                  ECLAIR_0_1                Android 2.0.1 Eclair                  
    7                  ECLAIR_MR1                Android 2.1 Eclair
    8                  FROYO                     Android 2.2 Froyo
    9                  GINGERBREAD               Android 2.3 Gingerbread
   10                  GINGERBREAD_MR1           Android 2.3.3 Gingerbread
   11                  HONEYCOMB                 Android 3.0 Honeycomb
   12                  HONEYCOMB_MR1             Android 3.1 Honeycomb
   13                  HONEYCOMB_MR2             Android 3.2 Honeycomb
   14                  ICE_CREAM_SANDWICH        Android 4.0 Ice Cream Sandwich
   15                  ICE_CREAM_SANDWICH_MR1    Android 4.0.3 Ice Cream Sandwich
   16                  JELLY_BEAN                Android 4.1 Jellybean
   17                  JELLY_BEAN_MR1            Android 4.2 Jellybean
   18                  JELLY_BEAN_MR2            Android 4.3 Jellybean
   19                  KITKAT                    Android 4.4 KitKat
   20                  KITKAT_WATCH              Android 4.4 KitKat Watch
   21                  LOLLIPOP                  Android 5.0 Lollipop
   22                  LOLLIPOP_MR1              Android 5.1 Lollipop
   23                  M                         Android 6.0 Marshmallow
   24                  N                         Android 7.0 Nougat
   25                  N_MR1                     Android 7.1.1 Nougat
   26                  O                         Android 8.0 Oreo
   27                  O_MR1                     Android 8 Oreo MR1
   28                  P                         Android 9 Pie
   29                  Q                         Android 10
  10000                CUR_DEVELOPMENT           Current Development Version

Обратите внимание, что некоторое время между Android N и O, Android SDK начал создавать псевдонимы CUR_DEVELOPMENT, и предварительный просмотр следующей основной версии Android для разработчика имел такое же значение SDK_INT (10000).

Ответ 2

Integer.valueOf(android.os.Build.VERSION.SDK);

Значения:

Platform Version   API Level
Android 9.0        28
Android 8.1        27
Android 8.0        26
Android 7.1        25
Android 7.0        24
Android 6.0        23
Android 5.1        22
Android 5.0        21
Android 4.4W       20
Android 4.4        19
Android 4.3        18
Android 4.2        17
Android 4.1        16
Android 4.0.3      15
Android 4.0        14
Android 3.2        13
Android 3.1        12
Android 3.0        11
Android 2.3.3      10
Android 2.3        9
Android 2.2        8
Android 2.1        7
Android 2.0.1      6
Android 2.0        5
Android 1.6        4
Android 1.5        3
Android 1.1        2
Android 1.0        1

ВНИМАНИЕ: не используйте android.os.Build.VERSION.SDK_INT, если <uses-sdk android:minSdkVersion="3" />.

Вы получите исключение на всех устройствах с Android 1.5 и ниже, потому что Build.VERSION.SDK_INT начиная с SDK 4 (Donut 1.6).

Ответ 4

попробуйте это: Float.valueOf(android.os.Build.VERSION.RELEASE) <= 2.1