Мое приложение использует новый "режим погружения", вызывая (в onCreate
):
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
Это отлично работает, но всплывающее окно "how-to" ( "Прокрутка вниз сверху вниз для выхода из полноэкранного режима" ) появляется при каждом запуске Activity (если телефон блокируется во время показа активности), даже хотя пользователь подтвердил всплывающее окно. Насколько я понимаю, всплывающее окно автоматически генерируется системой, поэтому я ничего не могу сделать, чтобы изменить эту ситуацию, правильно?
Эта проблема воспроизводится следующим образом:
- Запуск immersive Activity [всплывающее окно не появляется, только при первом запуске (правильно)]
- Нажмите кнопку питания, чтобы отключить экран во время показа активности.
- Нажмите кнопку питания еще раз, чтобы включить экран
- Закрыть операцию, вызвав финиш(), например. с помощью кнопки или меню
- Запустить активность снова - всплывающее окно снова появляется
Всплывающее окно НЕ появляется, если активность запущена, закрыта и перезапущена без нажатия кнопки включения питания. Кроме того, он ТОЛЬКО появляется, если активность была максимальной при нажатии кнопки питания.
Коррекция: действие нужно закрыть, вызвав "finish()" (например, с помощью кнопки или опции меню). Он работает правильно, если активность закрыта с помощью клавиши "Назад".
Я загрузил пример приложения здесь: https://github.com/niko001/com.greatbytes.immersivebug/tree/master/Test5
EDIT: теперь модуль Xposed отключает "режим паники", поэтому, я думаю, я не только в том, что это раздражает;)