Possible Duplicate:
Programmatically obtain the Android API level of a device?

如何让手机的Api级别立即运行我的应用程序?我相信这很简单,但我找不到它,因为我所有的搜索都会带来大量垃圾.

推荐答案

判断android.os.Build.VERSION,这是一个静态类,它保存有关系统正在运行的Android操作系统的各种信息.

如果您关心所有可能的版本(返回到原始Android版本),比如将minSdkVersion设置为小于4的任何值,那么您将不得不使用android.os.Build.VERSION.SDK,这是一个可以转换为发行版整数的String.

如果您至少使用API版本4(Android 1.6 Donut),当前建议的获取API级别的方法是判断值android.os.Build.VERSION.SDK_INT,这是一个整数.

在任何一种情况下,您得到的整数都会映射到android.os.Build.VERSION_CODES中定义的所有枚举值:

SDK_INT value        Build.VERSION_CODES        Human Version Name       
    1                  BASE                      Android 1.0 (no codename)
    2                  BASE_1_1                  Android 1.1 Petit Four
    3                  CUPCAKE                   Android 1.5 Cupcake
    4                  DONUT                     Android 1.6 Donut
    5                  ECLAIR                    Android 2.0 Eclair
    6                  ECLAIR_0_1                Android 2.0.1 Eclair                  
    7                  ECLAIR_MR1                Android 2.1 Eclair
    8                  FROYO                     Android 2.2 Froyo
    9                  GINGERBREAD               Android 2.3 Gingerbread
   10                  GINGERBREAD_MR1           Android 2.3.3 Gingerbread
   11                  HONEYCOMB                 Android 3.0 Honeycomb
   12                  HONEYCOMB_MR1             Android 3.1 Honeycomb
   13                  HONEYCOMB_MR2             Android 3.2 Honeycomb
   14                  ICE_CREAM_SANDWICH        Android 4.0 Ice Cream Sandwich
   15                  ICE_CREAM_SANDWICH_MR1    Android 4.0.3 Ice Cream Sandwich
   16                  JELLY_BEAN                Android 4.1 Jellybean
   17                  JELLY_BEAN_MR1            Android 4.2 Jellybean
   18                  JELLY_BEAN_MR2            Android 4.3 Jellybean
   19                  KITKAT                    Android 4.4 KitKat
   20                  KITKAT_WATCH              Android 4.4 KitKat Watch
   21                  LOLLIPOP                  Android 5.0 Lollipop
   22                  LOLLIPOP_MR1              Android 5.1 Lollipop
   23                  M                         Android 6.0 Marshmallow
   24                  N                         Android 7.0 Nougat
   25                  N_MR1                     Android 7.1.1 Nougat
   26                  O                         Android 8.0 Oreo
   27                  O_MR1                     Android 8 Oreo MR1
   28                  P                         Android 9 Pie
   29                  Q                         Android 10
  10000                CUR_DEVELOPMENT           Current Development Version

请注意,在安卓N和O之间的一段时间,安卓SDK开始将CUR_DEVELOPMENT和下一个主要安卓版本的开发者预览命名为相同的SDK_INT值(10000).

Android相关问答推荐

如果我将日期存储为字符串yyyy-mm--dd,如何通过对Room数据库中的日期字段进行比较来进行更复杂的查询?

Kotlin多平台向导,不兼容版本(ANP 8.2.0)ANP 8.1.2

NativeScript在`ns run android`上重复Kotlin类

如何更新Kotlin中的显示?

如何在 Jetpack Compose LazyColumn 中将项目分组在一起,例如卡片

有没有办法迭代类型安全的项目访问器?

使用 Gadle kotlin 为多模块 Android 代码库设置 jacoco

在 kotlin 协同 routine 中,如何将数据范围限定为请求路径(以 MDC 为例)?

根据另一个数组的值对数组进行排序

在 compose android 中创建一个圆形按钮和居中文本

为卡片的上半部分添加一个边框,用圆角半径组合

在 Jetpack Compose 中重用具有重复代码的列

如何解决 compose 中material 图标的由于接收器类型不匹配,以下候选者都不适用

根据 Jetpack Compose 中的生命周期正确处理变量/函数

如何在 Android Jetpack compose 中为列表初始填充设置动画

缺少类 com.google.android.datatransport.runtime.ForcedSender

在android studio中使用wifi配对设备的问题

如何从 Jetpack Compose 中的 Radio 组中获取价值

Delphi 11:以编程方式查找 MSBuild 的正确工具版本

EAS 构建失败,错误代码为 1,但 Expo Build 成功,我需要 EAS 构建来删除未使用的包,如 com.segment.analytics.android:analytics