Retrieving Android API version programmatically Retrieving Android API version programmatically android android

Retrieving Android API version programmatically


As described in the Android documentation, the SDK level (integer) the phone is running is available in:

android.os.Build.VERSION.SDK_INT

The class corresponding to this int is in the android.os.Build.VERSION_CODES class.

Code example:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP){    // Do something for lollipop and above versions} else{    // do something for phones running an SDK before lollipop}

Edit: This SDK_INT is available since Donut (android 1.6 / API4) so make sure your application is not retro-compatible with Cupcake (android 1.5 / API3) when you use it or your application will crash (thanks to Programmer Bruce for the precision).

Corresponding android documentation is here and here


Very easy:

   String manufacturer = Build.MANUFACTURER;   String model = Build.MODEL;   int version = Build.VERSION.SDK_INT;   String versionRelease = Build.VERSION.RELEASE;Log.e("MyActivity", "manufacturer " + manufacturer            + " \n model " + model            + " \n version " + version            + " \n versionRelease " + versionRelease    );

Output:

E/MyActivity:   manufacturer ManufacturerX                model SM-T310                 version 19                 versionRelease 4.4.2


Build.VERSION.RELEASE;

That will give you the actual numbers of your version; aka 2.3.3 or 2.2.The problem with using Build.VERSION.SDK_INT is if you have a rooted phone or custom rom, you could have a non standard OS (aka my android is running 2.3.5) and that will return a null when using Build.VERSION.SDK_INT so Build.VERSION.RELEASE will work no matter using standard Android version or not !

To use it, you could just do this;

String androidOS = Build.VERSION.RELEASE;