Android开发经验谈Android

Android-SDK版本号表格

2016-07-02  本文已影响17228人  积木Blocks

前言

~
由于经常需要对SDK的版本进行不同适配,需要知道SDK的版本号,这里为了方便以后查看,以表格的形式记录下。仅仅记录4.0以上的Android版本,毕竟4.0以上的普及率已经达到了97.4%


1.SDK版本表格

~ 基于Android 6.0(API Level 23)

发布日期 API Level Android版本 VERSION_CODES 英文名称 中文名称
2011.10 14 4.0 ICE_CREAM_SANDWICH IceCreamSandwich 冰淇淋三明治
2011.12 15 4.0.3 ICE_CREAM_SANDWICH_MR1 IceCreamSandwich 冰淇淋三明治
2012.06 16 4.1 JELLY_BEAN Jelly Bean 果冻豆
2012.11 17 4.2 JELLY_BEAN_MR1 Jelly Bean 果冻豆
2013.07 18 4.3 JELLY_BEAN_MR2 Jelly Bean 果冻豆
2014.06 19 4.4 KITKAT KitKat 奇巧巧克力
2014.09 20 4.4W KITKAT_WATCH KitKat Wear 奇巧巧克力-穿戴设备
2014.11 21 5.0 L或者LOLLIPOP Lollipop 棒棒糖
2015.03 22 5.1 LOLLIPOP_MR1 Lollipop 棒棒糖
2015.10 23 6.0 M Marshmallow 棉花糖
未发布 24 6.X N Nougat 牛轧糖

如果需要更详细的NDK版本看这里:带NDK版本的SDK表格


2.SDK版本号的用处

~

2.1.获取版本号

~

   /**
     * 获取Android发布的版本
     */
    public static String getVersion() {
        return android.os.Build.VERSION.RELEASE;
    }
    /**
     * 获取SDK的API Level
     * @return
     */
    public static int getSDK() {
        return android.os.Build.VERSION.SDK_INT;
    }
2.2.根据版本号来适配

~

     protected boolean hasPermission(String permission) {
        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP_MR1)
            return (checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED);
        return true;
    }

判断是否有权限,如果版本大于5.1才需要判断(即6.0以上),其他则不需要判断。Build.VERSION.SDK_INT是指当前设备的API Level。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {    
builder.setSubText("it is really basic");
}

通知的副标题需要API Level 16才能使用。


3.后记

if (Build.VERSION.SDK_INT >= 16) {    
builder.setSubText("it is really basic");
}
上一篇下一篇

猜你喜欢

热点阅读