В некоторых случаях требуется узнать версию Android API непосредственно во время работы программы.
Пример подобной ситуации мы уже рассматривали ранее, когда речь шла о работе с событием onScrollChange для элементов управления ScrollView и HorizontalScrollView (напомним, что оно, доступно только начиная с API 23 (Android 6.0 или Marshmallow)).
В вышеупомянутом примере мы обращались к свойству SDK_INT, класса VERSION, которое возвращает номер версии API.
|
1 2 3 4 5 6 7 8 9 10 |
import android.os.Build; . . . if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { scroll.setOnScrollChangeListener(new View.OnScrollChangeListener() { @Override public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { Toast.makeText(getApplicationContext(),String.valueOf(scrollY),Toast.LENGTH_SHORT).show(); } }); } |
Номер версии API возвращается в виде целого числа. Поэтому с ним можно работать непосредственно:
|
1 2 3 |
if (Build.VERSION.SDK_INT == 17){ . . . } |
Либо сравнивать его с один из значений перечисления VERSION_CODES (как в первом примере). Нижеприведены значения перечисления VERSION_CODES в соответствии с номерами версий API и Android.
| Версия API | Значение перечисления VERSION_CODES | Версия Android |
| 1 | BASE | 1.0 |
| 2 | BASE_1_1 | 1.1 |
| 3 | CUPCAKE | 1.5 |
| 4 | DONUT | 2.0 |
| 5 | ECLAIR | 2.0. |
| 6 | ECLAIR_0_1 | 2.0.1 |
| 7 | ECLAIR_0_1 | 2.1 |
| 8 | FROYO | 2.2 |
| 9 | GINGERBREAD | 2.3 |
| 10 | GINGERBREAD_MR1 | 2.3.3 |
| 11 | HONEYCOMB | 3.0 |
| 12 | HONEYCOMB_MR1 | 3.1 |
| 13 | HONEYCOMB_MR1 | 3.2 |
| 14 | ICE_CREAM_SANDWICH | 4.0 |
| 15 | ICE_CREAM_SANDWICH_MR1 | 4.0.3 |
| 16 | JELLY_BEAN | 4.1 |
| 17 | JELLY_BEAN_MR1 | 4.2 |
| 18 | JELLY_BEAN_MR2 | 4.3 |
| 19 | KITKAT | 4.4 |
| 20 | KITKAT_WATCH | 4.4W |
| 21 | L | 5.0 |
| 21 | LOLLIPOP | 5.0 |
| 22 | LOLLIPOP_MR1 | 5.1 |
| 23 | M | 6.0 |
| 24 | N | 7.0 |
| 25 | N_MR1 | 7.1 |
| 26 | O | 8.0 |
| 27 | O_MR1 | 8.1 |
| 28 | P | 9.0 |
| 29 | Q | 10.0 |
Это позволяет оперировать с номером версии API даже зная только версию Android.
Примечание
По просьбе одного из читателей 29.02.2020 таблица в статье была дополнена до Android 10.

Добавить комментарий