LCD가 꺼져 있을 때 강제로 켜고 싶을 때가 있다. 

  • 메세지가 도착했을 때. (카톡과 같은 메신저류에서의 요구사항)
  • 설정한 알람 시간이 됐을 때
    : 알람 이벤트가 되면 자동으로 LCD가 켜지는 지는 모르겠다..
  • 또는 이와 같이 LCD가 꺼진 상태에서 특정 이벤트가 왔는데, 화면에 표시해야 할 때

이럴 때는 PowerManager를 이용해서 아래와 같이 wake lock을 걸어주면 된다.

먼저 AndroidMenifest.xml에 다음 퍼미션을 추가하자.
<users-permission android:name="android.permission.WAKE_LOCK"/>

wake lock을 걸 때
private void acquireWakeLock(Context context) { PowerManager pm = (PowerManager)context.getSystemService (Context.POWER_SERVICE); screenWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP
, context.getClass().getName());
if (screenWakeLock != null) { screenWakeLock.acquire(); } }


wake lock을 걸고 할 일을 마쳤다면 반드시 lock을 풀어서 소모전류 이슈가 발생하지 않도록 하자.

wake lock을 풀 때
private void releaseWakeLock() { if (screenWakeLock != null) { screenWakeLock.release(); screenWakeLock = null; } }


저작자 표시 비영리 동일 조건 변경 허락
신고