Android решает проблему совместимости с SDK_INT hack; это нормально?

Выполнение следующего (примечание: цель> 3.0)

ActionBar actionBar = getActionBar();

на Android с версией <3.0 (SDK 11) приводит кNoSuchMethodError.

Есть несколько способов обойти это, включая рефлексию и ленивую загрузку класса. Тем не менее, кажется, что следующее работает на всех устройствах, которые я тестировал (2.3.6, 3.0, 3.1, 4.0):

boolean hasActionBar = android.os.Build.VERSION.SDK_INT >= 11;

if (hasActionBar) {
    ActionBar actionBar = getActionBar();
} else {
    // create custom actionbar
}

Обратите вниманиеSDK_INT параметрstatic final, который, кажется, почему это работает.

Это правильный способ борьбы с совместимостью?

Ответы на вопрос(2)

Ваш ответ на вопрос