Страницы

Поиск по вопросам

воскресенье, 15 марта 2020 г.

событие опускание шторки

#android


Можно ли как-то определить в приложении, что шторка (notification bar) опущена и
закрывает какую-то часть activity?
    


Ответы

Ответ 1



Тоже мучилась с этим. В итоге для моего случая подошло использование переопределенного метода public void onWindowFocusChanged(boolean hasFocus) активности. Мне важно было отследить, когда активность теряет фокус, в том числе опущен статус бар. @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (!hasFocus) { // Действия при потере фокуса приложением (в т.ч. при опускании статус бара) } } Вот пример, как я контролирую поведение активности при взаимодействии пользователя со статус баром, и перехватах фокуса другими активностями. @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if (gameFragment!=null) { if (!hasFocus) { if (frag == gameFragment) { gameFragment.saveTimer(); isTimerPaused = true; Log.i("TAG", "MainActivity onWindowFocusChanged isTimerPaused " + isTimerPaused); } } else if (isTimerPaused) { gameFragment.loadTimer(); isTimerPaused = false; Log.i("TAG", "MainActivity onWindowFocusChanged isTimerPaused " + isTimerPaused); } } } Если такой общий способ подойдёт, хорошо) Потому что я не нашла, как перехватить именно событие опускания шторки.. Рада буду, если знающие люди дополнят в комментариях, как можно усовершенствовать или изменить мой способ решения поставленной задачи.

Ответ 2



У вас нету доступа к шторке нотификаций, это системное приложение отвечает за него. OnPause вашего активите в этот момент не будет вызываться.

Комментариев нет:

Отправить комментарий