프로그래밍 방식으로 iPhone의 백라이트 밝기를 변경하십시오

StackOverflow https://stackoverflow.com/questions/366889

  •  21-08-2019
  •  | 
  •  

문제

SDK는 백라이트의 밝기를 변경하거나 일시적으로 끄는 방법을 제공합니까?

도움이 되었습니까?

해결책

아니요. SDK에서는 사용할 수 없습니다. 그것이 당신이 유용 할 것이라고 생각한다면, 나는 당신을 제안합니다 강화 요청을 제출하십시오.

다른 팁

나는 같은 일을하려고 노력하고있다. 이를 위해 "솔루션"이있는 인터넷에는 여러 개의 게시물이 있습니다.

가장 자세한 것은입니다 여기이것은 더 많다 간결

문제는 내가 이것을 시도했고 모두이 기능을 부르는 데 의존한다는 것입니다.

GSEventSetBacklightLevel();

이 헤더를 가져와야합니다

#import <GraphicsServices/GraphicsServices.h>

SDK보고에서 해당 수입은 헤더 파일을 찾을 수 없다고보고합니다.

솔루션을 검색했지만 찾지 못했습니다. "도구 체인 구축"에 대한 이야기가 있습니다 (내가 찾은 최고의 설명을 위해 여기) 그러나 그것은 SDK를 모두 우회하는 것 같습니다. 꽤 과감합니다.

요약 : 가능하지만 표준 iPhone SDK는 가능하지 않습니다. SDK에 대한 업데이트가 곧 올 것이라고 생각합니다.

다른 솔루션을 찾으면 알려주세요.

-(void)changeLight{

    GSEventSetBacklightLevel(float number);//number between 0.0 - 1.0
}

위의 방법을 사용하여 호출하십시오

[self performSelector:@selector(changeLight) withObject:nil afterDelay:0.0];

/developer/platforms/phoneos.platform/developer/sdks/iphoneos4.2.sdk/system/library/privateframeworks/graphicsservices.framework에서 Xcode 프로젝트로 드래그 앤 드래그하여 개인 프레임 워크를 추가 할 수 있습니다.

또한 .h 파일에 #import "GraphicsServices.h"헤더를 추가하십시오 ..기억 : 개인 프레임 워크를 사용하고 있으므로 응용 프로그램은 App Store Push에서 거부합니다.

내 SDK (5.0.1)에서 "GraphicsServices.h"는 더 이상 존재하지 않는 것 같습니다. 그러나 다음과 같이 스스로 선언 할 수 있습니다.

void GSEventSetBacklightLevel(float level);

프로젝트에 Framework GraphicsServices.framework를 포함하지 않는 한 링커는 불만을 제기합니다.

백라이트를 끄는 것에 대한 귀하의 질문에 대해, 나는 당신이 매우 큰 음수를 GseventSetbacklightLevel에 전달하여 다음과 같이 할 수 있음을 알았습니다.

GSEventSetBacklightLevel(-INFINITY);

내 테스트에서 이것은 화면을 완전히 검게 할 것입니다.

백라이트가 꺼져 있어도 정적 그래픽을 표시하는 경우 LCD 픽셀에서 여전히 연소 될 수 있습니다. 그리고이 전화는 App Store에 제출하면 거절을 일으킬 것입니다.

이 코드를 시도하십시오. 도움이되기를 바랍니다 ...

// ViewWillAppear에서

float prevbrightnesslevel = [uiscreen mainscreen] .Brightness;

uiscreen mainscreen] .Brightness = 1.0;

// ViewWillDisAppear에서

uiscreen mainscreen] .Brightness = prevbrightnesslevel;

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top