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; } }
반응형
'Tips > Android' 카테고리의 다른 글
[Android] 현재 폴더에 있는 APK 파일 한꺼번에 설치하기 (0) | 2013.06.10 |
---|---|
[Android] 가로 세로 회전 시 상태유지 - EditText의 내용이 지워지는 경우 (0) | 2013.03.22 |
[Android] 미디어 스캐닝 인텐트 (4) | 2013.03.01 |
Android 4.2 에뮬레이터에서 한글 인식되게 하는 방법 (0) | 2013.02.24 |
USIM의 유무 확인 (0) | 2013.02.24 |