Android M Light et Dark barre d'état par programme - comment faire à nouveau sombre?

Dans l'Android M, nous avons la capacité de faire des icônes de barre d'état d'être sombre. Pour faire cela, nous pouvons spécifier l'attribut dans le thème du xml:

<item name="android:windowLightStatusBar">true</item>

OU nous chat l'a mis à exécution avec ce code:

View someView = findViewById(R.id.some_view);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    someView.setSystemUiVisibility(someView.getSystemUiVisibility() | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}

Et c'est en fait fonctionne très bien. Mais la question est de savoir comment définir correctement une barre d'état en mode foncé, au moment de l'exécution?

J'ai déjà essayé des variantes:

//Makes status bar mode dark, but also hides it along with all navigation views. 
someView.setSystemUiVisibility(someView.getSystemUiVisibility() | ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

//Does nothing 
someView.setSystemUiVisibility(someView.getSystemUiVisibility() & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

//Also does nothing 
someView.setSystemUiVisibility(someView.getSystemUiVisibility() ^ View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

Alors, comment il peut être fait dans un droit chemin?

source d'informationauteur udenfox