android - Android 2.2如何知道4.0的版本号?

标签 android

假设我有一个目标为 4.0 的项目,但支持低至 2.2 的版本。在 2.2 设备上运行以下命令时,我得到正确的值,即 14。

Integer version = Build.VERSION_CODES.ICE_CREAM_SANDWICH

对我来说,这似乎很奇怪,我期待一个空值或错误,因为设备正在使用 2.2 API 并根据 2.2 Build.VERSION_CODES类中,没有提及 int ICE_CREAM_SANDWHICH = 14 常量。我在这里缺少什么?

最佳答案

正如 Ahmad 所说,您需要使用 API Level 14 编译代码才能使用常量“ICE_CREAM_SANDWICH”。问题是在编译时这些常量会更改为各自的值。这意味着在运行时任何设备都不会看到“ICE_CREAM_SANDWICH”常量,而是看到值 14(即使它是安装了 Froyo 2.2 的设备)。

换句话说,在您的代码中:

Integer version = Build.VERSION_CODES.ICE_CREAM_SANDWICH;

在设备中:

Integer version = 14;

虽然不完全是这样,但你明白了。

关于android - Android 2.2如何知道4.0的版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12755684/

相关文章:

android - 如何从 Android Studio 手动重启 ADB

java - 哪个选择器最适合 Appium 测试不同版本的设备?

java - Java.lang.Integer 类型的值 0 无法转换为 JSONObject

android - CoordinatorLayout 替换 fragment

javascript - Phonegap - 使用 window.location.replace 离开索引范围后处理推送通知

Android Gradle 对 fork 的 GitHub 项目的依赖

android - Activity.setContentView,View.setContentView?

android - react native : Is it possible to create floating chat heads like facebook messenger?

java - 等待从数据库获取数据然后返回android

java - 运行时添加 Gridview 中的新项目