有谁知道我怎么能检查系统版本(例如1.0
, 2.2
,等)编程?
#1楼
我无法对答案发表评论,但是Kaushik的答案存在一个严重错误:SDK_INT与系统版本不同,但实际上是指API级别。
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){
//this code will be executed on devices running ICS or later
}
值Build.VERSION_CODES.ICE_CREAM_SANDWICH
等于Build.VERSION_CODES.ICE_CREAM_SANDWICH
是Ice Cream Sandwich的API级别,而系统版本是4.0。 因此,如果您编写4.0,则代码将从Donut开始在所有设备上执行,因为Donut的API级别为4( Build.VERSION_CODES.DONUT
等于4)。
if(Build.VERSION.SDK_INT >= 4.0){
//this code will be executed on devices running on DONUT (NOT ICS) or later
}
此示例是为什么使用“幻数”是一种不良习惯的原因。
#2楼
Build.Version是此数据的存放地。 这是如何格式化的代码片段。
public String getAndroidVersion() {
String release = Build.VERSION.RELEASE;
int sdkVersion = Build.VERSION.SDK_INT;
return "Android SDK: " + sdkVersion + " (" + release +")";
}
看起来像这样的“ Android SDK:19(4.4.4)”
#3楼
CODENAME
:当前的开发代号,如果是发行版,则为字符串“ REL”。INCREMENTAL
:基础源控件用来表示此内部版本的内部值。RELEASE
:用户可见的版本字符串。
#4楼
if (Build.VERSION.SDK_INT >= ApiHelper.VERSION_CODES.HONEYCOMB_MR2) {
//do anything you like.
}
#5楼
使用这个课程
import android.os.Build;
/**
* Created by MOMANI on 2016/04/14.
*/
public class AndroidVersionUtil {
public static int getApiVersion() {
return android.os.Build.VERSION.SDK_INT;
}
public static boolean isApiVersionGraterOrEqual(int thisVersion) {
return android.os.Build.VERSION.SDK_INT >= thisVersion;
}
}
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3161160