Окружающий режим

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

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

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

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

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

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

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

При воспроизведении звука приложения не должны блокировать режим Ambient во время воспроизведения, если только они не реализуют собственную заставку с нестатическими изображениями. Воспроизведение звука будет продолжаться, пока активен режим Ambient.

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

Предотвращение Ambient Mode

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

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

Котлин

requireActivity().window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Ява

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

Режим Ambient будет отключен, пока установлен этот флаг. Чтобы снова включить его, необходимо снять флаг:

Котлин

requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

Ява

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