获取Android API级别的手机正在运行我的应用程序

可能重复:
以编程方式获取设备的Android API级别?

我如何获得手机的API级别以正确运行我的应用程序? 我相信它很简单,但我无法find它,因为我所有的search都会造成大量的垃圾。

检查android.os.Build.VERSION ,它是一个静态类,包含有关系统正在运行的Android OS的各种信息。

如果你关心所有可能的版本(回到原来的Android版本),因为在minSdkVersion设置为小于4的任何东西,那么你将不得不使用android.os.Build.VERSION.SDK ,这是一个可以转换的String到释放的整数。

如果您至less使用API​​版本4(Android 1.6 Donut),则获取API级别的当前build议方法是检查android.os.Build.VERSION.SDK_INT的值,该值是一个整数。

在这两种情况下,你得到的整数映射到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 10000 CUR_DEVELOPMENT Current Development Version 

请注意,Android N和O之间的一段时间,Android SDK开始将CUR_DEVELOPMENT别名,而下一个主要Android版本的开发者预览是相同的SDK_INT值( 10000 )。

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

价值观是:

 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 

注意:如果<uses-sdk android:minSdkVersion="3" />不要使用android.os.Build.VERSION.SDK_INT

Android 1.5及更低版本的所有设备上都会出现exception,因为Build.VERSION.SDK_INT自SDK 4(Donut 1.6)以来。

android.os.Build.VERSION.SDK_INT

在这里你可以find可能的值: VERSION_CODES

试试这个:Float.valueOf(android.os.Build.VERSION.RELEASE)<= 2.1