任何人都可以在背景/退出时使用 setBrightness]?

似乎有一个以前logging(和报告)的错误在iOS(它仍然存在于最新的iOS),这意味着,虽然你可以使用[[UIScreen mainScreen] setBrightness:x]一旦应用程序已经开始你不能在背景事件中随时调用它(这意味着你无法将亮度恢复到应用程序启动之前的水平)。

// Works as expected, screen dims - (void)applicationDidBecomeActive:(UIApplication *)application { NSLog(@"applicationDidBecomeActive"); // Dim the screen (works) [[UIScreen mainScreen] setBrightness:0.2]; } 

但…

 // Seems to fire if you double-tap the home key ('task manager' ;) // Doesn't work - (void)applicationWillResignActive:(UIApplication *)application { NSLog(@"applicationWillResignActive"); [[UIScreen mainScreen] setBrightness:1.0]; } 

背景是,我正在将我成功的Dock Clock应用程序从Android移植到iOS,并且现在发现我无法恢复屏幕亮度。 这显然是一个错误,但我想知道是否有人发现了解决办法?

这是一个非常简单的原型testing应用程序,certificate了这个错误:

https://github.com/philask/Dockclock-iOS

我没有尝试恢复它,当我的应用程序进入背景..但我注意到,它将被恢复,当你locking和解锁设备。