如何获得Android系统版本

项目移植中,遇到需要区分不同系统版本的问题。于是查找相关方法如下:

android.os.Build类提供了当前系统信息。
可用if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD)这样来判断。

有人用这样一个函数来获取版本号:

public static int getAndroidSDKVersion() {
int version;
try {
version = Integer.valueOf(android.os.Build.VERSION.SDK);
} catch (NumberFormatException e) {
Log.e(e.toString());
}
return version;
}

android.os.Build.VERSION_CODES 值有如下,其中第二列的值就是API LEVEL编号:

int  1 (0x00000001) BASE October 2008: The original, first, version of Android.
int  2 (0x00000001) BASE_1_1 February 2009: First Android update, officially called 1.1.
int  3 (0x00000001) CUPCAKE May 2009: Android 1.5.
int  10000 (0x00002710) CUR_DEVELOPMENT Magic version number for a current development build, which has not yet turned into an official release.
int  5 (0x00000001) DONUT September 2009: Android 1.6.
int   ECLAIR November 2009: Android 2.0
  Applications targeting this or a later release will get these new changes in behavior:
 5 (0x00000008) The Service.onStartCommand function will return the new START_STICKY behavior instead of the old compatibility START_STICKY_COMPATIBILITY.
int  6 (0x00000008) ECLAIR_0_1 December 2009: Android 2.0.1
int  7 (0x00000008) ECLAIR_MR1 January 2010: Android 2.1
int  8 (0x00000008) FROYO June 2010: Android 2.2
int   GINGERBREAD November 2010: Android 2.3
  Applications targeting this or a later release will get these new changes in behavior:
 9 (0x00000009) The application's notification icons will be shown on the new dark status bar background, so must be visible in this situation.
int  10 (0x0000000a) GINGERBREAD_MR1 February 2011: Android 2.3.3.
int  11 (0x0000000b) HONEYCOMB February 2011: Android 3.0.
int  12 (0x0000000c) HONEYCOMB_MR1 May 2011: Android 3.1.
int  13 (0x0000000d) HONEYCOMB_MR2 June 2011: Android 3.2.
int  14 (0x0000000e) ICE_CREAM_SANDWICH October 2011: Android 4.0.
int  15 (0x0000000f) ICE_CREAM_SANDWICH_MR1 December 2011: Android 4.0.3.
int  16 (0x00000010) JELLY_BEAN Android 4.1.

你可能感兴趣的:(android)