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,现在发现我无法恢复屏幕亮度。这显然是一个错误,但我想知道是否有人发现了解决方法?
这是一个非常简单的原型测试应用程序,它证明了这个错误: