Android Studio调用系统的代码中Build.VERSION.SDK_INT >= Build.VERSION_CODES.xxx
Posted 彬sir哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio调用系统的代码中Build.VERSION.SDK_INT >= Build.VERSION_CODES.xxx相关的知识,希望对你有一定的参考价值。
常用来判断sdk版本如下
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
//包含新的api的代码块
else
//包含旧的api的代码块
这里的Build.VERSION.SDK_INT是一个静态变量,代表运行该应用的手机系统的SDK版本,这个值是通过native方法,在Build类加载时获得;Build.VERSION_CODES.M是android sdk中的一个常量,代表的就是不同的SDK版本号
Build.VERSION.SDK_INT,代码:
public static final int SDK_INT = SystemProperties.getInt("ro.build.version.sdk", 0);
Build.VERSION_CODES.M的M版本号到底是多少,后面的版本号,可以鼠标放到上面+ctrl按键就可以看到如下图:
原来M版本号是23
从源码里面看到当前有所的sdk版本号:
public static class VERSION_CODES
/**
* October 2008: The original, first, version of Android. Yay!
*/
public static final int BASE = 1;
/**
* February 2009: First Android update, officially called 1.1.
*/
public static final int BASE_1_1 = 2;
/**
* May 2009: Android 1.5.
*/
public static final int CUPCAKE = 3;
......
public static final int ECLAIR = 5;
/**
* December 2009: Android 2.0.1
*/
public static final int ECLAIR_0_1 = 6;
/**
* January 2010: Android 2.1
*/
public static final int ECLAIR_MR1 = 7;
/**
* June 2010: Android 2.2
*/
public static final int FROYO = 8;
......
public static final int M = 23;
......
public static final int N = 24;
/**
* N MR1: Nougat++. For more information about this release, see
* <a href="/about/versions/nougat/android-7.1">Android 7.1 for
* Developers</a>.
*/
public static final int N_MR1 = 25;
.....
public static final int O = 26;
......
public static final int O_MR1 = 27;
......
public static final int P = 28;
/**
* Q.
* <p>
* <em>Why? Why, to give you a taste of your future, a preview of things
* to come. Con permiso, Capitan. The hall is rented, the orchestra
* engaged. It's now time to see if you can dance.</em>
*/
public static final int Q = 29;
Android系统版本与API级别对应表
以上是关于Android Studio调用系统的代码中Build.VERSION.SDK_INT >= Build.VERSION_CODES.xxx的主要内容,如果未能解决你的问题,请参考以下文章
错误记录Android Studio 中 Gradle 面板 Task 不显示问题 ( 菜单栏 / File / Settings / Experimental 取消勾选 Do not bui )
如何在Android Studio中进行发布版本时删除System.out println()?
在 Android Studio 1.3.1 中多次导入库项目导致库消失