Полноэкранный/иммерсивный режим теряется, когда приложение возвращается на передний план

Я пытаюсь добавить режим погружения в свое приложение для Android с помощью OpenGL ES. Все работает, но когда я помещаю свое приложение в фоновый режим и возвращаюсь, мое приложение теряет полноэкранный статус (панель навигации возвращается).

Вот мой способ перевести приложение в полноэкранный/иммерсивный режим (я вызываю его из onCreate в моей MainActivity):

private void setFullScreen() 
{   
    int uiOptions = this.getWindow().getDecorView().getSystemUiVisibility();
    if (Build.VERSION.SDK_INT >= 14) {
        uiOptions ^= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
    }
    if (Build.VERSION.SDK_INT >= 16) {
        uiOptions ^= View.SYSTEM_UI_FLAG_FULLSCREEN;
    }
    if (Build.VERSION.SDK_INT >= 18) {
        uiOptions ^= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
    }

    this.getWindow().getDecorView().setSystemUiVisibility(uiOptions);
}

Как я могу справиться с этим? Спасибо!


person user30088    schedule 10.03.2014    source источник


Ответы (1)


Вызовите setFullScreen() в методе onResume() вместо onCreate().

person Mark Buikema    schedule 10.03.2014
comment
Это работает лучше! Но когда я касаюсь экрана, панель навигации возвращается. - person user30088; 10.03.2014
comment
Вы тестируете на устройстве KitKat? - person Mark Buikema; 10.03.2014
comment
Да, Nexus 4 с Android 4.4.2 - person user30088; 10.03.2014