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

时间:2010-10-22 04:38:24

标签: android android-api-levels

  

可能重复:
  Programmatically obtain the Android API level of a device?

如何让手机的Api级别正常运行我的应用程序?我确信它很简单,但我无法找到它,因为我所有的搜索都会带来大量的垃圾。

4 个答案:

答案 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