wake lock 설정

절전 모드 해제를 설정하여 기기를 일시적으로 절전 모드에서 해제할 수 있습니다.

종속 항목

앱에 절전 모드 해제 잠금을 설정할 수 있는 WAKE_LOCK 권한이 있어야 합니다. 앱의 매니페스트에 권한을 추가합니다.

<uses-permission android:name="android.permission.WAKE_LOCK" />

절전 모드 해제 잠금 만들기 및 획득

절전 모드 해제 잠금을 획득하려면 다음을 실행하세요.

  1. PowerManager.newWakeLock()을 호출하여 절전 모드 해제 잠금을 만듭니다. 이렇게 하면 PowerManager.WakeLock 객체가 생성되고 구성되지만 실제로 기기가 절전 모드로 전환되지 않습니다.

  2. 기기를 절전 모드로 전환하지 않으려면 절전 모드 해제 객체의 acquire() 메서드를 호출합니다.

예를 들어 앱이 특정 작업용 서비스를 사용하는 broadcast receiver를 포함하고 있다면 다음 코드를 사용하여 wake lock을 설정하고 획득할 수 있습니다.

Kotlin

val wakeLock: PowerManager.WakeLock =
    (getSystemService(Context.POWER_SERVICE) as PowerManager).run {
        newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag").apply {
            acquire()
        }
    }

자바

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
PowerManager.WakeLock wakeLock =
        powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag");
wakeLock.acquire();

이 코드에 관한 핵심 사항

코드가 절전 모드 해제 잠금 객체를 만들 때 클래스의 이름을 절전 모드 해제 잠금 태그의 일부로 사용합니다. wake lock 태그의 일부로 패키지, 클래스 또는 메서드 이름을 포함하는 것이 좋습니다. 이렇게 하면 오류가 발생할 경우 소스 코드에서 절전 모드 해제 잠금을 더 쉽게 찾을 수 있습니다. 자세한 내용은 절전 모드 해제 잠금 이름 올바르게 지정을 참고하세요.

참고 항목