2012-04-27 2 views
3

applicationDidEnterBackground 또는 applicationWillResignActive에서 화면 밝기를 설정할 수없는 이유는 무엇입니까?응용 프로그램 종료시 밝기를 초기화 할 수 없습니다. iOS

-(void)applicationDidEnterBackground:(UIApplication *)application { 
    [[UIScreen mainScreen] setBrightness:1.0]; 
} 

그것을 이해 할 수 없습니다 ... :

이 내 코드입니다!? applicationDidEnterForeground 등에서 작동합니다. 홈 버튼을 사용하여 앱을 닫을 때와는 다릅니다.

이 문제에 대한 다른 해결책이 있습니까?

+0

이 두 가지 방법 (applicationDidEnterBackground 또는 applicationWillResignActive)에서 앱의 밝기를 변경하고 싶습니다. 확실합니까 ? –

+0

예. [[UIScreen mainScreen] setBrightness : 0.1]을 사용하여 밝기를 변경하면 앱의 전체 밝기가 변경되므로 앱을 백그라운드에서 입력 할 때 밝기를 기본값으로 재설정해야합니다. –

+0

배터리 수명을 줄이려고한다고 가정 해 봅시다. –

답변

9

업데이트 8 월 2016 : 장치가 잠겨있을 때까지 응용 프로그램에 의해

밝기의 변화에 ​​관계없이 애플리케이션이 종료되었는지 여부, 유효. 다음에 디스플레이가 켜지면 시스템 밝기 (사용자가 설정 또는 제어 센터에서 설정할 수 있음)가 복원됩니다. 원래 포스트 2012년 7월

https://developer.apple.com/reference/uikit/uiscreen/1617830-brightness

은 :

당신은 종료하기 전에 밝기를 설정할 수 없습니다 있습니다. 이것은 어디 문서화되지 않고 dev에 포럼에서 다음 게시물이 도움이된다 : 어떻게해야합니까

https://devforums.apple.com/thread/139813?start=0&tstart=0

앱이 백그라운드로 할 때 시스템 전체의 밝기가 복원된다. 백라이트의 전원을 껐다가 다시 켤 때까지 실제로 발생하지 않는 알려진 버그가 있습니다.

밝기를 0으로 설정하고 홈 키를 눌러 쉽게 재현 할 수 있습니다. 대기 화면은 여전히 ​​어두울 것입니다. 잠금을 해제하고 장치의 잠금을 해제하면 시스템 밝기가 복원됩니다.

제발 버그에 대한 파일을 만드십시오! 같은 게시물에서 Apple 직원은 반복적 인 버그 리포트가 유용하다고 게시했습니다.

+0

문서에 따르면 버그는 아니지만 ("앱이 닫을 때까지 기기가 잠길 때까지 앱의 밝기가 계속 변경됩니다. 시스템 밝기 (설정 또는 제어에서 설정할 수 있음) 센터)는 다음에 디스플레이가 켜지면 복원됩니다. " https://developer.apple.com/reference/uikit/uiscreen/1617830-brightness –

+0

질문은 스타 벅스 앱이 어떻게합니까? –

+0

감사합니다. 4 년 전이 게시물을 작성 했으므로 정보가 오래되었다는 사실에 놀라지 않습니다. 고칠 것입니다. –

0

applicationDidEnterBackground에서 화면 밝기를 설정하지 않았습니다.

모든것 위에 검은 배경색이있는 UIView를 사용하여 응용 프로그램의 밝기를 변경할 수 있다고 생각합니다. 그런 다음이 UIView의 알파를 설정하십시오. 그러면 실제 화면 밝기와 똑같은 결과를 얻게됩니다.

이 방법은 iOS5에서만 사용할 수 있으므로이 대안을 사용합니다.

[[UIScreen mainScreen] setBrightness : 1.0];

iOS3.4도 지원하고 싶습니다.

+0

빠른 답장을 보내 주셔서 감사합니다. –

+2

사실 내 앱은 자동 잠금 기능을 사용할 수 없으므로 배터리 수명을 절약하고 싶습니다. 나는 당신의 생각이 배터리 수명을 줄이는 데 도움이되지 않을 것이라고 생각합니다. –