执行步骤:1.当app执行- (void)applicationDidEnterBackground:(UIApplication*)application 去改变系统亮度,发现修改后无效。
后面在 - (void)applicationWillResignActive:(UIApplication*)application 修改才生效
还原亮度在 - (void)applicationDidBecomeActive:(UIApplication*)application 修改
@property(nonatomic,assign)intm_fOldBrightValue;
/**
* 功能:设置系统的亮度
*
*/
- (void)setSystemBrightness
{
/***保存系统原有的旧的亮度值***/
if(int([UIScreenmainScreen].brightness*100) >_NEW_BRIGHTNESS_VALUE)
return;
_m_fOldBrightValue=int([UIScreenmainScreen].brightness*100);
NSLog(@"m_fOldBrightValue1 = %d,NEW_BRIGHTNESS_VALUE = %d",_m_fOldBrightValue,_NEW_BRIGHTNESS_VALUE);
[[UIScreenmainScreen]setBrightness:_NEW_BRIGHTNESS_VALUE/100.0];
}
/**
* 功能:还原系统的亮度
*
*/
- (void)backSystemBrightness
{
/*还原前如果亮度值手动被修改了,就保持手动修改的。如果没有变就还原成进来的那个亮度值*/
CGFloatnBrightness = [UIScreenmainScreen].brightness;
NSLog(@"brightness = %f,m_fOldBrightValue = %d,NEW_BRIGHTNESS_VALUE = %d", nBrightness,_m_fOldBrightValue,_NEW_BRIGHTNESS_VALUE);
if(_NEW_BRIGHTNESS_VALUE!=int(nBrightness*10*10))
return;
dispatch_async(dispatch_get_global_queue(0,0), ^{
[[UIScreenmainScreen]setBrightness:_m_fOldBrightValue/100.0];
});
}
网友评论