¿Cómo alternar la barra de estado?

Estoy buscando una manera de mostrar y ocultar la barra de estado con unonClickListener, pero solo mostrarlo funciona.

WindowManager.LayoutParams lp = getWindow().getAttributes();
if (isStatusbarVisible)
    lp.flags = LayoutParams.FLAG_FULLSCREEN;
else
    lp.flags = LayoutParams.FLAG_FORCE_NOT_FULLSCREEN;
getWindow().setAttributes(lp);
isStatusbarVisible = !isStatusbarVisible;

Ocultar la barra de estado usandoFLAG_FULLSCREEN parece funcionar solo si la bandera está configurada antes de llamarsetContentView().

¿Hay alguna otra forma de ocultar la barra de estado?

Respuestas a la pregunta(4)

Su respuesta a la pregunta