可能重复:
Programmatically obtain the Android API level of a device?
如何让手机的Api级别正常运行我的应用程序?我确信它很简单,但我无法找到它,因为我所有的搜索都会带来大量的垃圾。
答案 0 :(得分:379)
检查android.os.Build.VERSION
,这是一个静态类,包含有关系统正在运行的Android操作系统的各种信息。
如果您关注所有可能的版本(返回到原始Android版本),因为minSdkVersion
设置为小于4的任何版本,那么您必须使用android.os.Build.VERSION.SDK
,这是一个{{ 1}}可以转换为发布的整数。
如果您至少使用API版本4(Android 1.6 Donut),目前建议的获取API级别的方法是检查android.os.Build.VERSION.SDK_INT
的值,这是一个整数。
在任何一种情况下,您获得的整数都映射到android.os.Build.VERSION_CODES
中定义的所有值的枚举值:
String
请注意,Android N和O之间的某段时间,Android SDK开始别名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
27 O_MR1 Android 8 Oreo MR1
28 P Android P
10000 CUR_DEVELOPMENT Current Development Version
,并且下一个主要Android版本的开发者预览为CUR_DEVELOPMENT
值(SDK_INT
)
答案 1 :(得分:135)
Integer.valueOf(android.os.Build.VERSION.SDK);
值为:
Platform Version API Level
Android 9.0 28
Android 8.1 27
Android 8.0 26
Android 7.1 25
Android 7.0 24
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
注意:如果android.os.Build.VERSION.SDK_INT
,请不要使用<uses-sdk android:minSdkVersion="3" />
。
在Android 1.5及更低版本的所有设备上,您将获得例外,因为自{4}以来Build.VERSION.SDK_INT
已经是自SDK 4(Donut 1.6)。
答案 2 :(得分:40)
<强> android.os.Build.VERSION.SDK_INT
强>
您可以在此处找到可能的值:VERSION_CODES
。
答案 3 :(得分:-12)
试试这个:Float.valueOf(android.os.Build.VERSION.RELEASE)&lt; = 2.1