在appdelegate方法setBrightness?

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

这是我的代码:

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

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

感谢任何人可以帮助…

这可能是因为你的应用正在放弃对操作系统的控制,操作系统将根据用户的全局设置来控制亮度。 如果你想改变全球的亮度设置,你必须访问用户的全球iphone设置,并改变它们,我不知道这是可能的。

当您在applicationDidEnterForeground上设置亮度时:您的应用程序再次处于控制状态,并可以调整亮度等内容。 一旦您的应用程序失去了这种控制思想,操作系统就会接pipe并重新使设备符合用户的全局设置。

希望有所帮助。

我很确定这是一个当前版本的错误(setBrightness调用在applicationDidEnterBackground或applicationWillResignActive中没有任何作用)。

我现在所做的与您所得到的相似 – 我将应用程序激活时的亮度设置为1.0,然后在需要时通过修改所有其他graphics上的黑色图层的不透明度来降低亮度。 这样,如果用户暂停应用程序,那么他们的屏幕至less是明亮的(而不是以任何任何亮度的应用程序)。

当用户locking他们的屏幕,它会恢复到他们的iPhone设置的亮度。