Android resolviendo la compatibilidad con SDK_INT hack; ¿esta bien

Ejecutando lo siguiente (nota: objetivo> 3.0)

ActionBar actionBar = getActionBar();

en Android con la versión <3.0 (SDK 11) da como resultado unaNoSuchMethodError.

Hay varias formas de evitar esto, incluida la reflexión y la carga diferida de la clase. Sin embargo, lo siguiente parece funcionar en todos los dispositivos que he probado (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
}

Nota laSDK_INT parámetro esstatic final, que parece ser la razón por la que esto funciona.

¿Es esta una forma válida de lidiar con la compatibilidad?

Respuestas a la pregunta(4)

Su respuesta a la pregunta