2010-10-22 10 views

Respuesta

340

Compruebe android.os.Build.VERSION, que es una clase estática que contiene varios datos sobre el sistema operativo Android que está ejecutando un sistema.

si se preocupan por todas las versiones posibles (volver a la versión original de Android), como en minSdkVersion se establece en nada menos que 4, entonces usted tendrá que utilizar android.os.Build.VERSION.SDK, que es un String que se puede convertir al número entero de la liberación.

Si tiene al menos la versión 4 de API (Android 1.6 Donut), la forma actual sugerida de obtener el nivel de la API sería verificar el valor de android.os.Build.VERSION.SDK_INT, que es un número entero.

En cualquier caso, el número entero a obtener mapas a un valor de enumeración de todas las definidas en 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 
    10000    CUR_DEVELOPMENT   Current Development Version 

Tenga en cuenta que en algún momento entre Android N y O, el SDK de Android comenzó aliasing CUR_DEVELOPMENT y el desarrollador vista previa de la próxima versión principal de Android para ser el mismo SDK_INT valor (10000).

+0

Gracias, simplemente no lo pude ver;) – Prospero

+0

'android.os.Build.VERSION.SDK' está en desuso en lollipop, lo que significa" Todavía puede usar esto, pero no cuente con él, porque probablemente reemplacemos ". con algo más (o eliminarlo por completo) en futuras versiones de software ". –

+3

@ Duraiamuthan.H - Ya mencioné que si está utilizando API versión 4 o posterior, debe cambiar a usar 'android.os.Build.VERSION.SDK_INT'. – birryree

-10

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

+2

Este valor no está definido para ser un flotante, por ejemplo "2.1-update1" –

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

Los valores son:

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 

PRECAUCIÓN: no utilizan android.os.Build.VERSION.SDK_INT si <uses-sdk android:minSdkVersion="3" />.

Recibirá excepciones en todos los dispositivos con Android 1.5 y versiones inferiores porque Build.VERSION.SDK_INT es desde SDK 4 (Donut 1.6).

+0

Hay otro truco, puede usarlo de todos modos y usar la reflexión para ver si SDK_INT existe. Si no es así, entonces la versión es <= 3 y, al menos para mis propósitos, eso fue suficiente. –

+0

Funciona a la perfección. Mientras tanto, hay algunos "nuevos": http://developer.android.com/reference/android/os/Build.VERSION_CODES.html –

+0

Los he agregado a la lista. –

Cuestiones relacionadas