2010-10-22 7 views

Antwort

340

Überprüfen Sie android.os.Build.VERSION, eine statische Klasse, die verschiedene Informationen über das Android-Betriebssystem enthält, auf dem ein System ausgeführt wird.

Wenn Sie alle Versionen möglich Pflege (zurück zur ursprünglichen Android-Version), wie in minSdkVersion auf alles eingestellt ist weniger als 4, dann werden Sie android.os.Build.VERSION.SDK verwenden müssen, was ein String ist, die auf die ganze Zahl umgewandelt werden kann die Freisetzung.

Wenn Sie mindestens API-Version 4 (Android 1.6 Donut) sind, wäre der aktuelle vorgeschlagene Weg, um die API-Ebene zu erhalten, um den Wert android.os.Build.VERSION.SDK_INT, die eine ganze Zahl ist, zu überprüfen.

In jedem Fall ist die ganze Zahl Sie Karten auf einen Enum-Wert von all jenen in android.os.Build.VERSION_CODES definiert erhalten:

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 
    10000    CUR_DEVELOPMENT   Current Development Version 

Beachten Sie, dass einige Zeit zwischen Android N und O, das Android SDK Aliasing CUR_DEVELOPMENT begann und den Entwickler Vorschau der nächsten großen Android-Version, um die gleiche SDK_INT Wert (10000).

+0

Danke einfach konnte es nicht sehen;) – Prospero

+0

'android.os.Build.VERSION.SDK' ist in Lollipop veraltet, was bedeutet" Sie können immer noch verwenden, aber nicht darauf zählen, weil wir wahrscheinlich ersetzen werden es mit etwas anderem (oder entfernen Sie es vollständig) in zukünftigen Software-Releases. " –

+3

@ Duraiamuthan.H - Ich erwähne bereits, dass Sie, wenn Sie API-Version 4 oder neuer verwenden, wechseln sollten, um 'android.os.Build.VERSION.SDK_INT' zu verwenden. – birryree

-10

versuchen, dieses: Float.valueOf (android.os.Build.VERSION.RELEASE) < = 2,1

+2

Dieser Wert ist nicht als Float definiert, zum Beispiel "2.1-update1" –

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

Werte sind:

Platform Version API Level 
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 

ACHTUNG: nicht verwenden android.os.Build.VERSION.SDK_INT wenn <uses-sdk android:minSdkVersion="3" />.

Sie erhalten eine Ausnahme auf allen Geräten mit Android 1.5 und niedriger, da Build.VERSION.SDK_INT seit SDK 4 (Donut 1.6) ist.

+0

Es gibt noch einen Trick, den man trotzdem verwenden kann und Reflection benutzt um zu sehen wenn SDK_INT vorhanden ist. Wenn nicht, dann ist die Version <= 3 und zumindest für meine Zwecke war das gut genug. –

+0

Funktioniert perfekt. Inzwischen gibt es ein paar neue: http://developer.android.com/reference/android/os/Build.VERSION_CODES.html –

+0

Ich habe sie zu der Liste hinzugefügt. –

Verwandte Themen