Compruebe si la navegación translúcida está disponible

¿Cómo puedo comprobar si la navegación translúcida está disponible?

Actualmente estoy configurando a translúcido con:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { translucentNavigation = true; Window w = getWindow(); w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } 

Pero desde que vi que se deshabilita para algunos dispositivos (como el N10) y, por supuesto, se deshabilita si hardkeys están presentes, me gustaría comprobar después de la configuración de la bandera si es translúcido o antes si está disponible en absoluto.

En los dispositivos KitKat, las barras del sistema translúcido pueden desactivarse con un recurso de configuración de configuración de booleanos. Puede inspeccionar el valor de ese recurso en tiempo de ejecución.

 int id = getResources().getIdentifier("config_enableTranslucentDecor", "bool", "android"); if (id == 0) { // not on KitKat } else { boolean enabled = getResources().getBoolean(id); // enabled = are translucent bars supported on this device } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.