4

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,现在发现我无法恢复屏幕亮度。这显然是一个错误,但我想知道是否有人发现了解决方法?

这是一个非常简单的原型测试应用程序,它证明了这个错误:

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

4

1 回答 1

1

当我的应用程序进入后台时,我没有尝试恢复它..但我注意到它会在您锁定和解锁设备时恢复。

于 2012-06-12T13:20:06.603 回答