web-dev-qa-db-ja.com

現在自分のアプリケーションを実行している携帯電話のAndroid APIレベルを取得する

重複している可能性があります:
プログラムでデバイスのAndroid APIレベルを取得しますか?

アプリケーションのApiレベルで現在のアプリケーションを確実に実行するにはどうすればよいですか。私はそれが単純だと確信しています、しかし私のすべての検索が大量のがらくたを持ってくるので私はそれを見つけることができません。

190
Arcabard

--- Android.os.Build.VERSION を確認してください。これは、システムが実行しているAndroid OSに関するさまざまな情報を保持する静的クラスです。

minSdkVersion のように、可能な限りすべてのバージョン(元のAndroidバージョンに戻す)に関心がある場合は、 Android.os.Build.VERSION.SDK を使用する必要があります。リリースの整数に変換できるString

少なくともAPIバージョン4(Android 1.6ドーナツ)を使用している場合、現在推奨されているAPIレベルの取得方法は、整数である Android.os.Build.VERSION.SDK_INT の値を確認することです。

どちらの場合も、取得した整数は、 Android.os.Build.VERSION_CODES で定義されているすべてのもののenum値にマッピングされます。

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)になるようにエイリアスし始めました。

380
wkl
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

注意:Android.os.Build.VERSION.SDK_INTの場合は<uses-sdk Android:minSdkVersion="3" />を使用しないでください。

Build.VERSION.SDK_INTはSDK 4(Donut 1.6)以降なので、Android 1.5以下のすべてのデバイスで例外が発生します。

135
rude

Android.os.Build.VERSION.SDK_INT

ここで可能な値を見つけることができます: VERSION_CODES

40
Cristian