2011-08-02 4 views
3

나는 wakelock을 사용해야한다. (예를 들어 명백한 이유로해서는 안된다.하지만 선택의 여지가 없어서 돈을 받고있다.)Android : 깨우기 잠금 : 애플리케이션에서 잠금이 해제되어 일시 중지 되었습니까?

내 질문은 매우 간단하다. 앱 onPause 또는 onStop은 자동으로 출시되는 앱의 잠자기 잠금 장치입니까?

나는 사용자가 자신의 앱을 닫지 않고 잠자기 후 잠김 현상이 여전히 이상하게 들릴 수 있기를 바랍니다.

다른 응용 프로그램에서 오는 메시지 처리기를 통해 응용 프로그램이 릴리스 웨이크 잠금 장치를 호출하는 현재 시스템에 문제가 있습니다.이 동작은 "너무 늦게"발생하고 응용 프로그램이 충돌하기 때문에 응용 프로그램이 충돌합니다 웨이크 잠금 장치에 대한 참조가 더 이상 없습니다.

나는 매우 명확하지 않을 수도 있지만, 여기에 주요 질문은 :

내가 응용 프로그램의 수명주기 외부 전화에 영향을 미치는 내 응용 프로그램의 결과 잠금에 대해 걱정할 필요가 않습니다.

환호

제이슨

답변

3

내 질문은 매우 간단하다 : 나는 응용 프로그램 onPause 또는 중지시를 떠날 때 자동으로 해제, 응용 프로그램의 결과 잠금입니까?

아니요. 그렇다면 WakeLock 대신 활동에 android:keepScreenOn을 사용해야합니다.

나는 앱의 라이프 사이클 밖에서 전화에 영향을 미치는 내 앱의 잠자기 잠금에 대해 걱정해야합니까?

물론입니다. 그 WakeLock을 풀 때까지 전화가 잠들지 않습니다.

+0

내가 실제로해야 할 일은 매번 onPause 메서드에서 깨우기 잠금을 해제하는 것입니다. –

+1

@Jason Rogers : 다시 말하지만, 'android : keepScreenOn'을 사용하는 것이 좋습니다. – CommonsWare

-3

응용 프로그램이 더 이상 초점을 맞추지 않으면 잠자기 잠금이 취소되고 응용 프로그램에만 초점이 맞춰지면 잠자기 잠금이 적용됩니다.

+0

AFAIK가 잘못되었습니다. 이를 증명하는 샘플 애플리케이션이 있다면 링크를 게시하십시오! – CommonsWare

0

웨이크 잠금 장치 응용 프로그램이 포 그라운드가 아닐지라도 기기에 지대한 영향을줍니다! 실제로 획득 웨이크 잠금 그래서

의 요점이다

당신이 다른 옵션이없는 경우에만 웨이크 잠금을 사용 있는지, 확인하고 앱이 백그라운드에서 때 웨이크 잠금을 필요로하지 않는 경우, 확인 onPause() 메서드에서 wake lock을 해제해야합니다!

이것은 장치의 성능과 배터리에 큰 영향을 미칩니다!

관련 문제