Режим Ambient Mode — это встроенная в Google TV и Android TV функция заставки. Его цель — предотвратить длительное отображение статичных изображений. Это важно для таких технологий отображения, как OLED, которые могут быть подвержены выгоранию экрана.
Операционная система переведет устройство в режим Ambient Mode через 10 минут бездействия пользователя. После дальнейшего периода бездействия пользователя (определяемого настройкой энергосбережения устройства) ОС перейдет в режим энергосбережения, выключив дисплей. Приложения для воспроизведения мультимедиа могут препятствовать переходу устройства в режим Ambient Mode, даже если пользователь с ним не взаимодействует, например, во время просмотра фильма.
Если пользователь взаимодействует с устройством в течение 30 минут после включения режима Ambient Mode, будет восстановлено приложение, активное на момент включения этого режима. Если пользователь взаимодействует с устройством более чем через 30 минут после включения режима Ambient Mode, он вернется на главный экран. При включении устройства с помощью кнопки питания в режиме энергосбережения пользователь также попадет на главный экран. Кроме того, если пользователь включает устройство в режиме энергосбережения с помощью кнопок определенных приложений (например, YouTube), он попадет непосредственно в это приложение.
Воспроизведение видео
Для воспроизведения видео важно предотвратить переход устройства в режим Ambient Mode во время воспроизведения, инициированного пользователем, чтобы обеспечить непрерывный просмотр. Однако приложения не должны препятствовать переходу устройств в режим Ambient Mode при остановке или паузе воспроизведения.
Воспроизведение аудио
При воспроизведении аудио приложениям не следует отключать режим Ambient Mode, если только они не используют собственную заставку с нестатичными изображениями. Воспроизведение аудио будет продолжаться, пока активен режим Ambient Mode.
Воспроизведение аудио на Android будет неявно удерживать частичную блокировку пробуждения . Это не помешает устройству перейти в режим Ambient Mode, но предотвратит последующий переход в режим энергосбережения. Таким образом, воспроизведение продолжится даже после перехода устройства в режим Ambient Mode, но устройство не сможет перейти в спящий режим, что позволит продолжить воспроизведение без перерывов.
Предотвращение включения фонового режима
Можно предотвратить переход устройства в режим Ambient Mode, но это необходимо делать в соответствии с требованиями Ambient Mode . Разработчики приложений не могут предотвратить переход устройства в режим энергосбережения.
Приложения могут предотвратить выключение экрана, установив флаг в Window :
Котлин
activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
Java
requireActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Режим Ambient Mode будет отключен, пока этот флаг установлен. Чтобы снова включить его, необходимо снять флаг:
Котлин
activity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
Java
requireActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);