Android版本判断

尽管Android向下兼容不好,但是一个程序还是可以在多个平台上跑的。向下兼容不好,接口改变,新的平台上不能用旧的API,旧的平台更不可能用新的API,不等于一个平台需要一个APK。可以在高版本的SDK上开发,并在程序中作版本判断,低版本运行环境使用旧的API。进行android版本判断需使用到类:

android.os.Build

根据官方文档解释为--Information about the current build, extracted from system properties.
该类中描述了从系统属性中提取的有关android平台的信息。

android.os.Build.VERSION

根据官方文档解释为--Various version strings.
该类中提供了各种版本的字符串。
其中:public static final int SDK_INT
官方文档解释为--The user-visible SDK version of the framework; its possible values are defined in Build.VERSION_CODES.
该常量值表述了用户可见的系统框架的SDK版本,它的可能取值被定义在Build.VERSION_CODES中。

android.os.Build.VERSION_CODES

根据官方文档解释为--Enumeration of the currently known SDK version codes. These are the values that can be found in SDK. Version numbers increment monotonically with each official platform release.
该类列举处理当前已知的所有SDK版本代号。这些值可以在SDK中找到,版本号会随着官方平台的发布单调增加。
例如:int M;    --- M is for Marshmallow!(Constant Value: 23 (0x00000017) )


// Build.VERSION.SDK_INT可与switch搭配用     
switch (Build.VERSION.SDK_INT) {    
    case Build.VERSION_CODES.BASE: // 1.0     
        break;    
        
    case Build.VERSION_CODES.BASE_1_1: // 1.1     
        break;    
        
    case Build.VERSION_CODES.CUPCAKE: // 1.5     
        break;    
        
    case Build.VERSION_CODES.CUR_DEVELOPMENT: // current dev version     
        break;    
        
    case Build.VERSION_CODES.DONUT: // 1.6     
        break;    
        
    case Build.VERSION_CODES.ECLAIR: // 2.0     
        break;    
        
    case Build.VERSION_CODES.ECLAIR_0_1: // 2.0.1     
        break;    
        
    case Build.VERSION_CODES.ECLAIR_MR1: // 2.1     
        break;    
}    




原文地址:https://www.cnblogs.com/roger-yu/p/5592455.html