LCD 화면 켜기

Android

화면이 꺼진 상태에서 특정 이벤트에 반응하여 화면을 켜고 싶을 때, 다음과 같이 WakeLock 을 이용하면 화면을 켤 수 있다. 단, WakeLock 을 사용 후 적절하게 해제하지 않으면 전력소모가 심하므로 반드시 release()를 해 주어야 한다.

AndroidMenifest.xml

<users-permission android:name="android.permission.WAKE_LOCK">

다음과 같이 구현해 두고 적절한 곳에서 호출하자.

예) onCreate() 에서 acquireWakeLock() 을 호출하고, onDestroy() 에서 releaseWakeLock() 을 호출한다.

PowerManager.WakeLock wakeLock;

private void acquireWakeLock(Context context) {
    PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
    wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
            | PowerManager.ACQUIRE_CAUSES_WAKEUP
            , context.getClass().getName());

    if (wakeLock != null) {
        wakeLock.acquire();
    }
}

private void releaseWakeLock() {
    if (wakeLock != null) {
        wakeLock.release();
        wakeLock = null;
    }
}