web-dev-qa-db-fra.com

Obtenir le niveau d'API Android du téléphone utilisant actuellement mon application

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.

192
Arcabard

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_).

386
wkl
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).

134
rude

Android.os.Build.VERSION.SDK_INT

Vous pouvez trouver ici les valeurs possibles: VERSION_CODES .

40
Cristian