Checking the Android system version is crucial for developing applications that target specific versions or handle version-dependent features. In this tutorial, we will explore how to programmatically check the Android system version.
Introduction to Build.VERSION
The android.os.Build.VERSION
class provides information about the current Android build. It includes several fields and constants that help identify the version of the operating system. The most relevant fields for checking the system version are:
CODENAME
: The current development codename, or "REL" if it’s a release build.INCREMENTAL
: The internal value used by the underlying source control to represent this build.RELEASE
: The user-visible version string.SDK_INT
: The SDK version of the Android platform.
Checking the System Version
To check the system version, you can use either Build.VERSION.RELEASE
or Build.VERSION.SDK_INT
. Here’s how:
Using Build.VERSION.RELEASE
This method returns a string representing the user-visible version number. For example, "4.4.4" or "2.3.3".
String androidVersion = Build.VERSION.RELEASE;
This approach is useful when you need to display the Android version in your application.
Using Build.VERSION.SDK_INT
This method returns an integer representing the SDK version of the Android platform. For example, 19 for Android 4.4 (KitKat) or 21 for Android 5.0 (Lollipop).
int androidSdkVersion = Build.VERSION.SDK_INT;
You can use this approach to check if the device is running a specific version or later.
Version-Dependent Code
To execute code based on the Android version, you can compare Build.VERSION.SDK_INT
with the corresponding VERSION_CODES
constant. For example:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) {
// Only for Gingerbread and newer versions
}
Similarly, you can check for other versions like Marshmallow, Nougat, or Oreo by using the corresponding VERSION_CODES
constants.
Formatting the Android Version
If you want to display a formatted string containing both the SDK version and the release version, you can use the following code:
public String getAndroidVersion() {
String release = Build.VERSION.RELEASE;
int sdkVersion = Build.VERSION.SDK_INT;
return "Android SDK: " + sdkVersion + " (" + release + ")";
}
This will output a string like "Android SDK: 19 (4.4.4)".
Best Practices
When checking the Android system version, keep in mind:
- Use
Build.VERSION.RELEASE
for displaying the user-visible version number. - Use
Build.VERSION.SDK_INT
for comparing versions or executing version-dependent code. - Always check for specific versions using the corresponding
VERSION_CODES
constants.
By following these guidelines and using the provided examples, you can effectively check the Android system version in your applications.