tiene tengo studio samsung saber que lollipop kitkat como celular cambiar android version system

tengo - ¿Cómo puedo comprobar la versión del sistema de Android?



como saber si mi android es lollipop o kitkat (12)

Compruebe android.os.Build.VERSION .

  • CODENAME : el nombre de código de desarrollo actual, o la cadena "REL" si se trata de una versión de lanzamiento.
  • INCREMENTAL : el valor interno utilizado por el control de origen subyacente para representar esta compilación.
  • RELEASE : La cadena de versión visible por el usuario.

¿Alguien sabe cómo puedo verificar la versión del sistema (por ejemplo, 1.0 , 2.2 , etc.) programáticamente?


Ejemplo de cómo usarlo:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) { // only for gingerbread and newer versions }


No puedo comentar sobre las respuestas, pero hay un gran error en la respuesta de Kaushik: SDK_INT no es lo mismo que la versión del sistema, pero en realidad se refiere al nivel de API.

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){ //this code will be executed on devices running ICS or later }

El valor Build.VERSION_CODES.ICE_CREAM_SANDWICH es igual a 14. 14 es el nivel API de Ice Cream Sandwich, mientras que la versión del sistema es 4.0. Entonces, si escribe 4.0, su código se ejecutará en todos los dispositivos a partir de Donut, porque 4 es el nivel API de Donut ( Build.VERSION_CODES.DONUT es igual a 4).

if(Build.VERSION.SDK_INT >= 4.0){ //this code will be executed on devices running on DONUT (NOT ICS) or later }

Este ejemplo es una razón por la que el uso de ''número mágico'' es un mal hábito.


Para verificar la versión del dispositivo que es mayor o igual que Marshmallow, use este código.

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M){ }

para ckecking otros simplemente cambiar los VERSION_CODES como,
K para kitkat,
L para loolipop N para turrón y así sucesivamente ...


Por ejemplo, una función solo funciona para api21. A continuación, solucionamos errores en api21.

if(Build.VERSION.SDK_INT >= 21) { //only api 21 above }else{ //only api 21 down }


Puede encontrar la versión de Android en Build.VERSION .

La documentación recomienda que compruebe Build.VERSION.SDK_INT con los valores en Build.VERSION_CODES .

Esto está bien siempre que se dé cuenta de que Build.VERSION.SDK_INT solo se introdujo en el Nivel 4 de API, es decir, Android 1.6 (Donut). Así que esto no te afectará, pero si quisieras que tu aplicación se ejecute en Android 1.5 o anterior, entonces deberías usar el Build.VERSION.SDK en desuso.


Tenga en cuenta que Build.VERSION.SDK_INT no es confiable, se menciona en @ Falcon165o y recientemente me encontré con ese también.

Así que para obtener los datos de String (basados ​​en la lista de versiones de Android ) de Android actualmente instalado, hice un código como este:

Java

//Current Android version data public static String currentVersion(){ double release=Double.parseDouble(Build.VERSION.RELEASE.replaceAll("(//d+[.]//d+)(.*)","$1")); String codeName="Unsupported";//below Jelly bean OR above Oreo if(release>=4.1 && release<4.4)codeName="Jelly Bean"; else if(release<5)codeName="Kit Kat"; else if(release<6)codeName="Lollipop"; else if(release<7)codeName="Marshmallow"; else if(release<8)codeName="Nougat"; else if(release<9)codeName="Oreo"; return codeName+" v"+release+", API Level: "+Build.VERSION.SDK_INT; }

Kotlin

fun currentVersion(): String { val release = java.lang.Double.parseDouble(java.lang.String(Build.VERSION.RELEASE).replaceAll("(//d+[.]//d+)(.*)", "$1")) var codeName = "Unsupported"//below Jelly bean OR above Oreo if (release >= 4.1 && release < 4.4) codeName = "Jelly Bean" else if (release < 5) codeName = "Kit Kat" else if (release < 6) codeName = "Lollipop" else if (release < 7) codeName = "Marshmallow" else if (release < 8) codeName = "Nougat" else if (release < 9) codeName = "Oreo" return codeName + " v" + release + ", API Level: " + Build.VERSION.SDK_INT }

Ejemplo de una salida que produce:

Marshmallow v6.0, Nivel API: 23


Utilice este método:

public static String getAndroidVersion() { String versionName = ""; try { versionName = String.valueOf(Build.VERSION.RELEASE); } catch (Exception e) { e.printStackTrace(); } return versionName; }


usa esta clase

import android.os.Build; /** * Created by MOMANI on 2016/04/14. */ public class AndroidVersionUtil { public static int getApiVersion() { return android.os.Build.VERSION.SDK_INT; } public static boolean isApiVersionGraterOrEqual(int thisVersion) { return android.os.Build.VERSION.SDK_INT >= thisVersion; } }


android.os.Build.VERSION es el lugar al que android.os.Build.VERSION ir para obtener estos datos. Aquí hay un fragmento de código sobre cómo formatearlo.

public String getAndroidVersion() { String release = Build.VERSION.RELEASE; int sdkVersion = Build.VERSION.SDK_INT; return "Android SDK: " + sdkVersion + " (" + release +")"; }

Se parece a esto "Android SDK: 19 (4.4.4)"


Build.VERSION.RELEASE;

Eso te dará los números reales de tu versión; También conocido como 2.3.3 o 2.2. El problema con el uso de Build.VERSION.SDK_INT es que si tienes un teléfono rooteado o una ROM personalizada, podrías tener un sistema operativo ninguno estándar (también conocido como mi android está ejecutando 2.3.5) y eso devolverá un nulo cuando uses Build.VERSION.SDK_INT así que Build.VERSION.RELEASE funcionará sin importar qué!


if (Build.VERSION.SDK_INT >= ApiHelper.VERSION_CODES.HONEYCOMB_MR2) { //do anything you like. }