Скрыть панель навигации при запуске сервиса Daydream?

Я добавляю Dreamservice в свое приложение, где я хотел бы воспроизвести видео во время сна. Примерно тот же код, который я использую, чтобы скрыть элемент навигации во время моей основной деятельности

// Hide navigation controls
View v = findViewById(R.id.dream);
v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

приводит к краху Daydream. Глядя на некоторые другие Мечты, кажется, что никто из них не скрывает бар. Можно ли сделать это? В противном случае видео, которое я играю во время "Мечты", не сможет правильно центрироваться.

1 ответ

Попробуйте немного другой подход.

View view = getWindow().getDecorView();
view.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | view.getSystemUiVisibility());

Любой из getWindow() или же getDecorView() может вернуться nullособенно когда не спишь.

Имейте в виду документы. Возможно, вам придется регулярно применять этот флаг. Если DreamService является интерактивным, оно не будет отклоняться при первом входном событии, только при втором.

Другие вопросы по тегам