2011-09-07 23 views
34

¿Cómo puedo obtener la versión actual del dispositivo Android (1.5, 1.6, 2.0, etc.) programáticamente? es decir, he instalado mi apk en un dispositivo Android 2.2. Necesito obtener la versión del dispositivo (versión del emulador de Android en la que se está ejecutando actualmente mi aplicación).Obtener la versión del sistema operativo del dispositivo en Android programáticamente

+0

Ver duplicado: http://stackoverflow.com/questions/3093365/android-get-version-of-system –

Respuesta

1

Eche un vistazo a la clase de versión Build.VERSION. Según lo que desee hacer, es posible que desee utilizar el atributo RELEASE o SDK_INT.

85

Algo como esto:

String myVersion = android.os.Build.VERSION.RELEASE; // e.g. myVersion := "1.6" 
int sdkVersion = android.os.Build.VERSION.SDK_INT; // e.g. sdkVersion := 8; 

Puede recuperar todos los códigos SDK de Build.VERSION_CODES

+0

Lo que se recomienda utilizar para representar os, Build.VERSION.RELEASE o Build.VERSION.SDK.INT ? Ambos hacen el trabajo, pero ¿existe un estándar de la industria o una opción más popular? – portfoliobuilder

+0

@portfoliobuilder 'Build.VERSION.SDK_INT' es bueno en las comparaciones entre versiones (menor que/mayor que, etc.) –

+0

s descrito en la documentación de Android, el nivel SDK (entero) que el teléfono está ejecutando está disponible en: android.os.Build.VERSION.SDK_INT; La enumeración correspondiente a este int se encuentra en la clase android.os.Build.VERSION_CODES. Ejemplo de código: int currentapiVersion = android.os.Build.VERSION.SDK_INT; si (currentapiVersion> = android.os.Build.VERSION_CODES.FROYO) {// Hacer algo para Froyo y por encima de las versiones } else {// hacer algo por los teléfonos con un SDK antes de Froyo } – hitesh141

3

Si desea ver el número de versión del firmware, puede utilizar

Build.VERSION.SDK_INT 

Pero si quiere el nombre de la versión del firmware, entonces debe usar algo como esto

Build.VERSION_CODES 
10
int currentapiVersion = android.os.Build.VERSION.SDK_INT; 
if (currentapiVersion >= android.os.Build.VERSION_CODES.LOLLIPOP){ 
    // Do something for lollipop and above versions 
} else{ 
    // do something for phones running an SDK before lollipop 
} 

Con este código podemos ejecutar un código separado para los dispositivos Pre Lollipop.

1

intenta esto,

String deviceOs = android.os.Build.VERSION; 

espero que esto ayudará.

Cuestiones relacionadas