首页 文章

获取当前运行我的应用程序的Android API级别的手机[重复]

提问于
浏览
184

可能重复:以编程方式获取设备的Android API级别?

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

4 回答

  • 133

    检查android.os.Build.VERSION,这是一个静态类,包含有关系统正在运行的Android OS的各种信息 .

    如果您关心所有可能的版本(回到原始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 P
      10000                CUR_DEVELOPMENT           Current Development Version
    

    请注意,在Android N和O之间的某个时间,Android SDK开始别名 CUR_DEVELOPMENT ,并且下一个主要Android版本的开发者预览与 SDK_INT 值( 10000 )相同 .

  • 40
    Integer.valueOf(android.os.Build.VERSION.SDK);
    

    值是:

    Platform Version   API Level
    Android 9.0        28
    Android 8.1        27
    Android 8.0        26
    Android 7.1        25
    Android 7.0        24
    Android 6.0        23
    Android 5.1        22
    Android 5.0        21
    Android 4.4W       20
    Android 4.4        19
    Android 4.3        18
    Android 4.2        17
    Android 4.1        16
    Android 4.0.3      15
    Android 4.0        14
    Android 3.2        13
    Android 3.1        12
    Android 3.0        11
    Android 2.3.3      10
    Android 2.3        9
    Android 2.2        8
    Android 2.1        7
    Android 2.0.1      6
    Android 2.0        5
    Android 1.6        4
    Android 1.5        3
    Android 1.1        2
    Android 1.0        1
    

    CAUTION: 如果 <uses-sdk android:minSdkVersion="3" /> ,请不要使用 android.os.Build.VERSION.SDK_INT .

    在Android 1.5及更低版本的所有设备上,您将获得例外,因为 Build.VERSION.SDK_INT 是自SDK 4(Donut 1.6)以来 .

  • 366

    android.os.Build.VERSION.SDK_INT

    在这里您可以找到可能的值:VERSION_CODES .

  • -11

    试试这个:Float.valueOf(android.os.Build.VERSION.RELEASE)<= 2.1

相关问题