화면 보호 모드는 Google TV 및 Android TV에 내장된 화면 보호기입니다. 정적 이미지를 장시간 표시하지 않기 위한 것입니다. 이는 화면 번짐이 발생할 수 있는 OLED와 같은 디스플레이 기술에 중요합니다.
OS는 사용자가 10분 동안 활동이 없으면 기기를 대기 모드로 전환합니다. 사용자가 더 이상 활동하지 않는 기간(기기 절전 모드 설정에 의해 정의됨)이 지나면 OS가 절전 모드로 전환되어 디스플레이의 전원이 꺼집니다. 미디어 재생 앱은 사용자가 상호작용하지 않더라도 기기가 대기 모드로 전환되지 않도록 할 수 있습니다(예: 영화 시청 중).
사용자가 대기 모드로 전환된 후 30분 이내에 기기와 상호작용하면 대기 모드로 전환되었을 때 활성 상태였던 앱이 복원됩니다. 사용자가 대기 모드로 전환한 후 30분이 지나서 기기와 상호작용하면 홈 화면으로 돌아갑니다. 사용자가 기기가 절전 모드일 때 전원 버튼을 사용하여 기기를 시작하면 홈 화면으로 이동합니다. 또는 사용자가 특정 앱 버튼(예: YouTube)을 사용하여 기기가 절전 모드인 상태에서 기기를 시작하면 해당 앱으로 바로 이동합니다.
동영상 재생
동영상 재생의 경우 사용자가 시작한 재생 중에 기기가 대기 모드로 전환되지 않도록 하여 중단 없는 시청 환경을 제공하는 것이 중요합니다. 그러나 재생이 중지되거나 일시중지될 때 기기가 대기 모드로 전환되지 못하도록 앱이 방해해서는 안 됩니다.
오디오 재생
오디오 재생의 경우 앱이 정적 이미지가 아닌 자체 화면 보호기를 구현하지 않는 한 재생 중에 대기 모드를 방해해서는 안 됩니다. 대기 모드가 활성화된 동안 오디오 재생은 계속됩니다.
Android의 오디오 재생은 암시적으로 부분 wake lock을 보유합니다. 이렇게 하면 기기가 대기 모드로 전환되는 것을 막지 않지만 이후에 절전 모드로 전환되는 것은 막습니다. 따라서 기기가 대기 모드로 전환된 후에도 재생이 계속되지만, 재생이 중단되지 않도록 기기가 절전 모드로 전환되지 않습니다.
대기 모드 방지
OS가 기기를 대기 모드로 전환하지 못하도록 할 수는 있지만 대기 모드 요구사항에 따라 사용해야 합니다. 앱 개발자는 기기가 에너지 절약 모드로 전환되는 것을 방지할 수 없습니다.
앱은 Window
에 플래그를 설정하여 화면이 꺼지지 않도록 할 수 있습니다.
Kotlin
requireActivity().window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
자바
requireActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
이 플래그가 설정된 동안 대기 모드가 사용 중지됩니다. 다시 사용 설정하려면 플래그를 삭제해야 합니다.
Kotlin
requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
자바
requireActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);