Duplicate possible:
Obtenir par programme le niveau d'API Android d'un périphérique?
Comment puis-je obtenir le niveau d'API du téléphone en cours d'exécution de mon application? Je suis sûr que c'est simple, mais je ne le trouve pas car toutes mes recherches font apparaître des tonnes de déchets.
Vérifiez Android.os.Build.VERSION
, qui est une classe statique qui contient diverses informations sur le système d'exploitation Android qu'un système exécute.
Si vous vous souciez de toutes les versions possibles (retour à la version originale de Android), comme dans minSdkVersion
est défini sur une valeur inférieure à 4, vous devrez utiliser Android.os.Build.VERSION.SDK
, qui est un String
qui peut être converti en entier de la version.
Si vous utilisez au moins la version 4 de l'API (Android 1.6 Donut), le moyen suggéré actuellement d'obtenir le niveau de l'API consiste à vérifier la valeur de Android.os.Build.VERSION.SDK_INT
, qui est un entier.
Dans les deux cas, l'entier que vous obtenez correspond à une valeur enum parmi toutes celles définies dans 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 P
10000 CUR_DEVELOPMENT Current Development Version
_
Notez que quelque temps entre Android N et O, le Android SDK a commencé à créer un alias _CUR_DEVELOPMENT
_ et l’aperçu du développeur de la version majeure suivante Android sera la même valeur _SDK_INT
_ (_10000
_).
Integer.valueOf(Android.os.Build.VERSION.SDK);
Les valeurs sont:
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
ATTENTION: n'utilisez pas Android.os.Build.VERSION.SDK_INT
si <uses-sdk Android:minSdkVersion="3" />
.
Vous obtiendrez une exception sur tous les appareils avec Android 1.5 et versions inférieures, car Build.VERSION.SDK_INT
est depuis le SDK 4 (Donut 1.6).
Android.os.Build.VERSION.SDK_INT
Vous pouvez trouver ici les valeurs possibles: VERSION_CODES
.