절전 모드 해제를 설정하여 기기를 일시적으로 절전 모드에서 해제할 수 있습니다.
종속 항목
앱에 웨이크 락을 설정할 수 있는 WAKE_LOCK 권한이 있어야 합니다.
앱의 매니페스트에 권한을 추가합니다.
<uses-permission android:name="android.permission.WAKE_LOCK" />
절전 모드 해제 잠금 만들기 및 획득
절전 모드 해제 잠금을 획득하려면 다음을 실행하세요.
- PowerManager.newWakeLock()을 호출하여 절전 모드 해제 잠금을 만듭니다. 이렇게 하면- PowerManager.WakeLock객체가 생성되고 구성되지만 실제로 기기가 절전 모드로 전환되지 않습니다.
- 기기를 절전 모드로 전환하지 않으려면 절전 모드 해제 객체의 - acquire()메서드를 호출합니다.
예를 들어 앱이 특정 작업용 서비스를 사용하는 broadcast receiver를 포함하고 있다면 다음 코드를 사용하여 wake lock을 설정하고 획득할 수 있습니다.
Kotlin
val wakeLock: PowerManager.WakeLock = (getSystemService(POWER_SERVICE) as PowerManager).run { newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag").apply { acquire(WAKELOCK_TIMEOUT) } }
자바
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag"); wakeLock.acquire(WAKELOCK_TIMEOUT);
이 코드에 관한 핵심 사항
- 코드가 절전 모드 해제 잠금 객체를 만들 때 클래스의 이름을 절전 모드 해제 잠금 태그의 일부로 사용합니다. wake lock 태그의 일부로 패키지, 클래스 또는 메서드 이름을 포함하는 것이 좋습니다. 이렇게 하면 오류가 발생할 때 소스 코드에서 절전 모드 해제 잠금을 더 쉽게 찾을 수 있습니다. 자세한 내용은 절전 모드 해제 잠금의 이름을 적절하게 지정을 참고하세요. 
- WakeLock.acquire(long)에는 밀리초 단위의 시간 제한 값이 전달됩니다. 이미 해제하지 않은 경우 이 시간이 지나면 시스템에서 wake lock을 해제합니다.
