如何获得当前运行我的应用程序的手机的 Api 级别?我确信它很简单,但我找不到它,因为我所有的搜索都会带来大量的垃圾。
4 回答
Check android.os.Build.VERSION
,它是一个静态类,包含有关系统正在运行的 Android 操作系统的各种信息。
如果您关心所有可能的版本(回到原始 Android 版本),因为 inminSdkVersion
设置为小于 4 的任何值,那么您将不得不使用android.os.Build.VERSION.SDK
,它String
可以转换为版本的整数。
如果您至少使用 API 版本 4(Android 1.6 Donut),则当前建议的获取 API 级别的方法是检查 的值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
27 O_MR1 Android 8 Oreo MR1
28 P Android 9 Pie
29 Q Android 10
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 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
if <uses-sdk android:minSdkVersion="3" />
。
您将在 Android 1.5 及更低版本的所有设备上遇到异常,因为Build.VERSION.SDK_INT
自 SDK 4 (Donut 1.6) 起。
android.os.Build.VERSION.SDK_INT
在这里您可以找到可能的值:VERSION_CODES
。
试试这个:Float.valueOf(android.os.Build.VERSION.RELEASE) <= 2.1