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?