Get Android API level of phone currently running my application [duplicate]
Check android.os.Build.VERSION
, which is a static class that holds various pieces of information about the Android OS a system is running.
If you care about all versions possible (back to original Android version), as in minSdkVersion
is set to anything less than 4, then you will have to use android.os.Build.VERSION.SDK
, which is a String
that can be converted to the integer of the release.
If you are on at least API version 4 (Android 1.6 Donut), the current suggested way of getting the API level would be to check the value of android.os.Build.VERSION.SDK_INT
, which is an integer.
In either case, the integer you get maps to an enum value from all those defined in 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
Note that some time between Android N and O, the Android SDK began aliasing CUR_DEVELOPMENT
and the developer preview of the next major Android version to be the same SDK_INT
value (10000
).
Integer.valueOf(android.os.Build.VERSION.SDK);
Values are:
Platform Version API LevelAndroid 9.0 28Android 8.1 27Android 8.0 26Android 7.1 25Android 7.0 24Android 6.0 23Android 5.1 22Android 5.0 21Android 4.4W 20Android 4.4 19Android 4.3 18Android 4.2 17Android 4.1 16Android 4.0.3 15Android 4.0 14Android 3.2 13Android 3.1 12Android 3.0 11Android 2.3.3 10Android 2.3 9Android 2.2 8Android 2.1 7Android 2.0.1 6Android 2.0 5Android 1.6 4Android 1.5 3Android 1.1 2Android 1.0 1
CAUTION: don't use android.os.Build.VERSION.SDK_INT
if <uses-sdk android:minSdkVersion="3" />
.
You will get exception on all devices with Android 1.5 and lower because Build.VERSION.SDK_INT
is since SDK 4 (Donut 1.6).