Android中判斷當(dāng)前API的版本號(hào)方法
Android中由于不同版本API會(huì)有一些變化,導(dǎo)致一些較早版本可能不支持新的方法,或者某些功能處理過程不太一樣,需要判斷當(dāng)前版本然后進(jìn)行適當(dāng)?shù)奶幚怼?/p>
那么,如何判斷當(dāng)前API的版本號(hào)呢?
例如判斷api版本號(hào)是否大于等于19:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {...}
其中,Build.VERSION_CODES.KITKAT = 19
Build.VERSION.SDK_INT是什么:
public static final int SDK_INT = SystemProperties.getInt("ro.build.version.sdk", 0);
獲取系統(tǒng)屬性配置文件中“ro.build.version.sdk”的值,該值即為當(dāng)前設(shè)備的系統(tǒng)版本號(hào)。
在Android源碼 frameworks\base\core\java\android\os\Build.java 文件中的 Build.VERSION_CODES 類下包含對(duì)應(yīng)各個(gè)版本的版本號(hào)信息。
以下是Android 7.0版本下的源碼:
public static class VERSION_CODES { /** * Magic version number for a current development build, which has * not yet turned into an official release. */ public static final int CUR_DEVELOPMENT = 10000; /** * October 2008: The original, first, version of Android. Yay! */ public static final int BASE = 1; /** * February 2009: First Android update, officially called 1.1. */ public static final int BASE_1_1 = 2; /** * May 2009: Android 1.5. */ public static final int CUPCAKE = 3; /** * September 2009: Android 1.6. */ public static final int DONUT = 4; /** * November 2009: Android 2.0 */ public static final int ECLAIR = 5; /** * December 2009: Android 2.0.1 */ public static final int ECLAIR_0_1 = 6; /** * January 2010: Android 2.1 */ public static final int ECLAIR_MR1 = 7; /** * June 2010: Android 2.2 */ public static final int FROYO = 8; /** * November 2010: Android 2.3 */ public static final int GINGERBREAD = 9; /** * February 2011: Android 2.3.3. */ public static final int GINGERBREAD_MR1 = 10; /** * February 2011: Android 3.0. */ public static final int HONEYCOMB = 11; /** * May 2011: Android 3.1. */ public static final int HONEYCOMB_MR1 = 12; /** * June 2011: Android 3.2. */ public static final int HONEYCOMB_MR2 = 13; /** * October 2011: Android 4.0. */ public static final int ICE_CREAM_SANDWICH = 14; /** * December 2011: Android 4.0.3. */ public static final int ICE_CREAM_SANDWICH_MR1 = 15; /** * June 2012: Android 4.1. */ public static final int JELLY_BEAN = 16; /** * Android 4.2: Moar jelly beans! */ public static final int JELLY_BEAN_MR1 = 17; /** * Android 4.3: Jelly Bean MR2, the revenge of the beans. */ public static final int JELLY_BEAN_MR2 = 18; /** * Android 4.4: KitKat, another tasty treat. */ public static final int KITKAT = 19; /** * Android 4.4W: KitKat for watches, snacks on the run. */ public static final int KITKAT_WATCH = 20 public static final int L = 21; /** * Lollipop. A flat one with beautiful shadows. But still tasty. Android 5.0 */ public static final int LOLLIPOP = 21; /** * Lollipop with an extra sugar coating on the outside! Android 5.1 */ public static final int LOLLIPOP_MR1 = 22 /** * M is for Marshmallow! Android 6.0 */ public static final int M = 23; /** * N is for ¯\_(ツ)_/¯. Android 7.0 */ public static final int N = 24; }
以上這篇Android中判斷當(dāng)前API的版本號(hào)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android Menu半透明效果的開發(fā)實(shí)例
這篇文章主要介紹了Android Menu半透明效果方法的相關(guān)資料,需要的朋友可以參考下2016-09-09簡單學(xué)習(xí)Android Socket的使用方法
這篇文章主要幫助大家簡單學(xué)習(xí)Android Socket的使用方法,感興趣的小伙伴們可以參考一下2016-03-03Android shell命令行中過濾adb logcat輸出的幾種方法
本文主要介紹Android shell命令行中過濾adb logcat輸出的方法,這里整理了幾種方法,并詳細(xì)的說明,有需要的朋友可以參考下2016-08-08Android程序開發(fā)中單選按鈕(RadioGroup)的使用詳解
在android程序開發(fā)中,無論是單選按鈕還是多選按鈕都非常的常見,接下來通過本文給大家介紹Android程序開發(fā)中單選按鈕(RadioGroup)的使用,需要的朋友參考下吧2016-03-03Android ReboundScrollView仿IOS拖拽回彈效果
這篇文章主要為大家詳細(xì)介紹了Android ReboundScrollView仿IOS拖拽回彈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11