2011-12-28 3 views

답변

0

Service을 시작해야합니다.
그런 다음 onCreate 내에서 wake lock을 획득해야합니다. 그런 다음 onDestroy에서 WakeLock을 해제하십시오. 웨이크 잠금 장치를 배경에서 잡으려고하는 경우입니다.

wl.release(); 

그리고 물론

, 당신은 어떤 방법 이외의 클래스 본문 내에서 wl를 선언 할 것이다 : 분리합니다 다음을 얻을,하는 것입니다

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag"); 
wl.acquire(); 

.

+0

PowerManager.FULL_WAKE_LOCK 지금은 사용되지 않습니다, 내가 대신 무엇을 사용해야합니까? – Behzad

+0

http://developer.android.com/reference/android/os/PowerManager.html#FULL_WAKE_LOCK – Jakar

+0

답변 해 주셔서 감사합니다. WakeLock은 API 17에서 사용되지 않으며 FLAG_KEEP_SCREEN_ON을 사용해야하지만 정상적으로 작동하지 않는다는 것을 알 수 있습니다. 해당 플래그를 사용하면 기기가 켜지지 않고 앱을 시작할 수 없습니다. 앱에서 더 이상 사용되지 않는 메소드 나 속성을 사용하면 큰 문제가됩니까? – Behzad

0

전 : wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "DoNotDimScreen");

후 : wakeLock = pm.newWakeLock(PowerManager.ON_AFTER_RELEASE, "DoNotDimScreen");