Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android: Obtener TargetSDKVersion en tiempo de ejecución

¿Puedo obtener el TargetSDKVersion utilizado en tiempo de ejecución?

Esto se debe al hecho de que el WebView en la API de Android 19> maneja los píxeles de forma diferente a la pre 19.

Esto es para una biblioteca y por lo tanto no me gustaría que el desarrollador lo introdujera manualmente.

Mi comentario: Estoy usando mi Nexus 5 API 21 Lollipop. Cambiar TargetSDKVersion cambia la forma en que javascript del html lee los anchos por un múltiplo de la densidad de la pantalla. Acabo de cambiarlo a 14 y luego a 19, y lo confirmo.

4 Solutions collect form web for “Android: Obtener TargetSDKVersion en tiempo de ejecución”

Acerca de la versión de SDK de destino, busque en la clase ApplicationInfo (obtenla desde aquí )

int version = 0; IPackageManager pm = AppGlobals.getPackageManager(); try { ApplicationInfo applicationInfo = pm.getApplicationInfo(yourAppName, 0); if (applicationInfo != null) { version = applicationInfo.targetSdkVersion; } } 

O

Si hablamos de la versión de OS del dispositivo

La clase Build contiene información sobre la versión

 android.os.Build.VERSION.SDK_INT 

Esta es otra forma de obtener la targetSdkVersion de mi aplicación en tiempo de ejecución, utilizando Android Studio :

 try { PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0); int targetSdkVersion = packageInfo.applicationInfo.targetSdkVersion; } catch (PackageManager.NameNotFoundException e) { Log.e(TAG, e.getMessage()); } 

El valor de targetSDKVersion se define en mi archivo build.gradle

  defaultConfig { applicationId "com.tuna.hello.androidstudioapplication" minSdkVersion 9 targetSdkVersion 22 versionCode 12 versionName "1.0" } 

En mi caso, he hecho esto

 int targetSdkVersion = getApplicationContext().getApplicationInfo().targetSdkVersion; 

Tener la siguiente configuración en un teléfono Android Marshmallow (API 23):

 defaultConfig { applicationId "com.mytestapp" minSdkVersion 9 targetSdkVersion 22 versionCode 1 versionName "1.0.0" } 

Otro enfoque directo para obtener la aplicación en ejecución real targetSdkVersion es:

 Context mContext = getApplicationContext(); int targetSdkVersion = mContext.getApplicationInfo().targetSdkVersion; // Outputs 22 int mobileSdkVersion = Build.VERSION.SDK_INT; // Outputs 23 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.