방법1
//화면 절전모드 해제 ---1
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
//화면 절전모드 해제 취소 ---2
window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
화면 절전모드 해제를 하는 경우 해당 Activity에 있는동안은 화면이 계속 켜진다.
화면 절전모드 해제 취소를 하는 경우엔 절전모드가 해제된다.
화면이 절전이 된 상태에서 해당 코드를 실행하면 화면이 다시 밝아짐
해당 Activity가 종료되면 다시 기기설정을 따름
방법2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true">
...
</RelativeLayout>
해당 Activity의 xml에 keepScreenOn=”true”값을 설정해 준다.
특징
이 접근 방식의 장점은 wake lock(CPU를 켜진 상태로 유지 참조)과 달리 특정 권한이 필요하지 않고 앱이 사용하지 않는 리소스를 해제할 필요 없이 사용자가 애플리케이션 간에 이동할 수 있도록 플랫폼이 올바르게 관리한다는 것입니다.
참고
실행 중인 애플리케이션에서 계속 화면이 켜져 있을 필요가 없다면(예를 들어, 특정 시간 동안 활동이 없을 때 화면을 타임아웃하려는 경우) FLAG_KEEP_SCREEN_ON플래그를 삭제하지 않아도 됩니다. 창 관리자는 앱이 백그라운드로 이동하거나 포그라운드로 돌아갈 때 올바른 작업을 하도록 확인합니다. 하지만, 명시적으로 플래그를 삭제하여 화면이 꺼지도록 하려면 다음과 같이 clearFlags() 를 사용합니다. getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
'Android개발 > Kotlin' 카테고리의 다른 글
[Android][Kotlin]Bitmap (0) | 2025.04.30 |
---|---|
[Android][Kotlin]Array와 ArrayList 차이 (0) | 2025.04.30 |
[Android][Kotlin]View의 Height구하기 (0) | 2025.04.30 |
[Android][Kotlin]SpannableString (0) | 2025.04.30 |
[Android][Kotlin]Hilt (0) | 2025.04.30 |