获取手机的Android的API级别当前运行我的应用程序
可能重复:
Programmatically obtain the Android API level of a device?获取手机的Android的API级别当前运行我的应用程序
如何获得curently运行我的应用程序在手机的API级别?我相信它很简单,但我找不到它,因为我所有的搜索都会造成大量的垃圾。
检查android.os.Build.VERSION
,这是一个静态类,包含系统正在运行的各种Android OS信息。
如果你关心的所有版本的可能(回原来的Android版本),在minSdkVersion
设置为任何小于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
10000 CUR_DEVELOPMENT Current Development Version
请注意,Android N和O之间的一段时间中,Android SDK就开始走样CUR_DEVELOPMENT
和开发商下一个主要的Android版本的预览是相同的SDK_INT
值(10000
)。
android.os.Build.VERSION.SDK_INT
在这里你可以找到可能的值:VERSION_CODES
。
这个解决方案不太好,因为这个常数是自API级别4以来。 – 2011-10-05 00:32:11
试试这个:Float.valueOf(android.os.Build.VERSION.RELEASE)< = 2.1
该值未被定义为浮点数,例如“2.1-update1” – 2012-10-13 12:39:34
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
注意:不使用android.os.Build.VERSION.SDK_INT
如果<uses-sdk android:minSdkVersion="3" />
。
在Android 1.5及更低版本的所有设备上,您将得到例外,因为Build.VERSION.SDK_INT
自SDK 4(甜甜圈1.6)以来。
还有另一个技巧,您可以使用它并使用反射来查看如果SDK_INT存在。如果不是,那么版本 2011-10-27 07:57:25
完美地工作。同时还有一些“新”:http://developer.android.com/reference/android/os/Build.VERSION_CODES.html – 2012-10-02 13:18:04
我已将它们添加到列表中。 – 2012-10-13 12:37:59
谢谢你只是看不到它;) – Prospero 2010-10-22 18:00:37
'android.os.Build.VERSION.SDK'已弃用在棒棒糖,这意味着“你仍然可以使用这个,但不要指望它,因为我们可能会取代它与未来的软件版本中的其他内容(或完全删除)“。 – 2015-04-16 14:07:40
@ Duraiamuthan.H - 我已经提到,如果您使用API版本4或更新,您应该切换到使用'android.os.Build.VERSION.SDK_INT'。 – birryree 2015-04-16 15:23:50