您好,登錄后才能下訂單哦!
Android中怎么判斷當前API的版本號,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Android中由于不同版本API會有一些變化,導致一些較早版本可能不支持新的方法,或者某些功能處理過程不太一樣,需要判斷當前版本然后進行適當的處理。
那么,如何判斷當前API的版本號呢?
例如判斷api版本號是否大于等于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);
獲取系統屬性配置文件中“ro.build.version.sdk”的值,該值即為當前設備的系統版本號。
在Android源碼 frameworks\base\core\java\android\os\Build.java 文件中的 Build.VERSION_CODES 類下包含對應各個版本的版本號信息。
以下是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; }
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。