Android WakeLock 기능

Mobile/Android Programming
출처 : Android Developer


화면이 꺼져있을 때 스레드가 계속 실행되게 하거나, 프로그램이 실행되는 동안 화면을 계속 켜놓거나, 프로그램이 실행되는 동안 키보드 back light를 켜놓기 위해서 WakeLock을 이용한다.

	
	public void wakeLock(boolean flag) {
		if(flag == ON) {
			if (wl == null) { // CPU on (Power Manager)
				pm = (PowerManager) context
						.getSystemService(Context.POWER_SERVICE);
				wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
						"wakelock");
				wl.acquire();
			}
		} else {
			if (wl != null) { // PowerManager Release
				wl.release();
				wl = null;
			}
		}
	}
WakeLock기능을 사용하는 것은 좋지만 반드시 모든 가능한 경우를 따져서 release 해줘야 한다.