有人知道我如何通过编程检查系统版本(例如1.0、2.2等)吗?
当前回答
构建。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)
其他回答
构建。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)
Build.VERSION.RELEASE;
这将给你你的版本的实际数字;又名2.3.3或2.2。 使用Build.VERSION的问题。SDK_INT是如果你有一个根手机或自定义rom,你可以有一个非标准的操作系统(也就是我的android是运行2.3.5),在使用Build.VERSION时将返回null。SDK_INT因此build。version。release无论如何都会工作!
使用实例:
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.GINGERBREAD) {
// only for gingerbread and newer versions
}
使用这个类
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;
}
}
你可以在Build.VERSION中找到Android版本。
文档建议您检查Build.VERSION。SDK_INT对应Build.VERSION_CODES中的值。
这很好,只要你意识到Build.VERSION。SDK_INT只在API Level 4中引入,也就是Android 1.6 (Donut)。所以这不会影响你,但如果你想让你的应用在Android 1.5或更早的版本上运行,那么你必须使用已弃用的Build.VERSION.SDK。
推荐文章
- Android - SPAN_EXCLUSIVE_EXCLUSIVE跨度不能为零长度
- TextView的字体大小在Android应用程序改变字体大小从本机设置
- 如何模拟Android杀死我的进程
- 禁用EditText闪烁光标
- Android Eclipse -无法找到*.apk
- 设置TextView文本从html格式的字符串资源在XML
- 如何允许所有网络连接类型HTTP和HTTPS在Android(9)馅饼?
- Android加载JS包失败
- Android Studio, logcat在应用程序关闭后清理
- 在android中从上下文获取活动
- 无法解析主机"<URL here>"没有与主机名关联的地址
- getActivity()在Fragment函数中返回null
- 按钮背景是透明的
- 在Mac OS X上哪里安装Android SDK ?
- 我如何获得图像缩放功能?