web-dev-qa-db-fra.com

Android vérification de la version

Je ne suis pas nouveau sur Android et je suis bien habitué à la gestion des versions et à la façon de la conditionner, mais lorsque je vois ceci , cela me dérange ...

// Check if we're running on Android 5.0 or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Lollipop) {
    // Call some material design APIs here
} else {
    // Implement this feature without material design
}

Sur tous les appareils pré-Lollipop, cette ligne planterait l’application car le champ Build.VERSION_CODES.Lollipop n’existait pas ... alors pourquoi cela est-il recommandé? solution dans la documentation?

Je me demande vraiment ce qui me manque

50
TacB0sS

Eh bien, vous devez compiler votre projet avec la dernière version du SDK. Vos constantes sont remplacées par les valeurs entières correspondantes lors de la compilation. Quelle que soit la version de Android sur laquelle vous exécutez l’application - les entiers sont les mêmes

28
Alexander Zhak

Eh bien, dans ce cas, utilisez cette

// Check if we're running on Android 5.0 or higher
if (Build.VERSION.SDK_INT >= 21) {
    // Call some material design APIs here
} else {
    // Implement this feature without material design
}

Build.VERSION_CODES.Lollipop = 21

54
Rohit5k2

Essayez celui-ci

 if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Lollipop_MR1) {
       // Marshmallow+
   }else{
        //below Marshmallow
}

Remarque: Build.VERSION_CODES.Lollipop_MR1 == 22

    Build.VERSION_CODES.M==23
15
Gautam

Un peu tard pour répondre, mais aujourd’hui, j’ai rencontré le même problème sur Android Studio 3.4.1

La solution de contournement est donc la suivante:

Effectuez la mise à niveau vers le dernier Android SDK.

Et,

Après Marshmallow/Android 6 Build.VERSION_CODES.xxx, les noms complets sont remplacés par les initiales et quelques autres variantes.

Donc, maintenant pour Marshmallow, ce sera: Build.VERSION_CODES.M

Et pour Nougat: Build.VERSION_CODES.N

Etc.

Pour en savoir plus sur les codes de version de compilation, cliquez ici: Android Référence du développeur

0
bitcolon