Обработка фрагментов и поворот экрана
Документация Android, Сохраняйте устройство активным описывает каждое решение.
Решение № 1 - Флаги
Документация - Альтернативы использованию пробужденных замков
Для Фрагмент s используется программный подход, который требует меньше энергии.
Включить
activity!!.window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
Отключить
activity!!.window.clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON)
Для моего случая использования я назвал это в onStop()
, чтобы при выходе из фрагмента, показывающего мультимедийный контент, экран по умолчанию был настроен на обычную конфигурацию.
Избегайте
keepScreenOn=true
не работает при изменении конфигурации, например поворот экрана для фрагментов.
Примечание: Android's Держите устройство активным Документация должна быть обновлена соответствующим образом, чтобы справиться с этим делом.
Решение № 2 - Wake Lock
Документация - Держите процессор включенным с помощью Wake Locks
Функция Wake Lock обеспечивает больший контроль над поддержанием определенных элементов устройства в неактивном состоянии, но при этом потребляет больше энергии от батареи, и ее важно разблокировать вручную, чтобы сохранить батарею, поскольку она не обрабатывается системой автоматически.