Tips/Android

[Android] LCD 강제로 켜기

dextto™ 2013. 3. 8. 12:03

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; } }

반응형