спящий режим

Режим заставки – это встроенная в Google TV и Android TV заставка. Это нужно, чтобы избежать длительного показа статических изображений. Это важно для технологий отображения, таких как OLED, которые могут быть подвержены выгоранию экрана.

ОС переведет устройство в спящий режим через 10 минут бездействия пользователя. Если пользователь не взаимодействует с устройством в течение определенного времени (заданного в настройках энергосбережения), ОС переходит в режим энергосбережения и отключает экран. Приложения для воспроизведения медиаконтента могут запретить устройству переходить в спящий режим, даже если пользователь не взаимодействует с ним, например во время просмотра фильма.

Если пользователь взаимодействует с устройством в течение 30 минут после перехода в спящий режим, восстанавливается приложение, которое было активно в момент перехода. Если пользователь взаимодействует с устройством более чем через 30 минут после перехода в режим Ambient Mode, он будет возвращен на главный экран. Если пользователь включит устройство с помощью кнопки питания, когда на нем включен режим энергосбережения, он будет перенаправлен на главный экран. Если пользователь запустит устройство в режиме энергосбережения, нажав на кнопку определенного приложения (например, YouTube), он будет перенаправлен непосредственно в это приложение.

Воспроизведение видео

При воспроизведении видео важно не допускать перехода устройства в спящий режим, если пользователь запустил воспроизведение, чтобы не прерывать просмотр. Однако приложения не должны мешать устройству перейти в спящий режим, когда воспроизведение остановлено или приостановлено.

Воспроизведение аудио

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

При воспроизведении аудио на устройстве Android неявно удерживается частичная блокировка пробуждения. Это не помешает устройству перейти в спящий режим, но не позволит ему перейти в режим энергосбережения. Поэтому воспроизведение продолжится, даже если устройство перейдет в спящий режим, но оно не будет выключаться, чтобы не прерывать воспроизведение.

Как предотвратить включение спящего режима

Можно запретить ОС переводить устройство в спящий режим, но это необходимо делать в соответствии с требованиями к спящему режиму. Разработчики приложений не могут запретить устройству переходить в режим энергосбережения.

Приложения могут запретить отключение экрана, установив флаг в Window:

Kotlin

activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Java

requireActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Если этот флаг задан, режим окружающего звука будет отключен. Чтобы снова включить его, нужно снять флажок:

Kotlin

activity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Java

requireActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);