无法重置应用程序退出iOS的亮度

为什么我不能在applicationDidEnterBackground或applicationWillResignActive中设置屏幕亮度?

这是我的代码:

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

无法理解它!!? 它在applicationDidEnterForeground等工作,而不是当我closures应用程序使用主页button。

有没有其他解决scheme来解决这个问题?

2016年8月更新:

无论应用程序是否closures,应用程序所做的亮度更改都会保持有效,直到设备被locking。 系统亮度(用户可以在“设置”或“控制中心”中设置)在下次打开显示器时恢复。

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

原帖2012年7月:

退出前不允许设置亮度。 这是没有logging的任何地方,但在开发论坛上的以下post是有帮助的:

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

应用程序背景时应该发生的情况是全系统亮度恢复。 有一个已知的错误,直到下一次closures和打开背光为止,这实际上并没有发生。

您可以通过将亮度设置为0并按主页键轻松地进行复制。 主屏幕将仍然非常黑暗。 locking,然后解锁您的设备,系统亮度恢复。

请提出一个关于这个错误! 在同一篇post上,一名苹果员工发布重复的错误报告是有帮助的。

我从来没有试图在applicationDidEnterBackground上设置屏幕亮度。

我认为你可以改变应用程序的亮度,通过使用黑色背景颜色的UIView的一切。 然后设置这个UIView的alpha。 那么结果看起来就像真实的屏幕亮度。

我使用这个替代方法,因为这个方法只适用于iOS5。

[[UIScreen mainScreen] setBrightness:1.0];

我也想支持iOS3,4。