В некоторых случаях требуется узнать версию 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.
Добавить комментарий