我使用[[UIScreen mainScreen] setBrightness:](在sdk 5.0中)更改我的应用程序中的系统背景灯.
以下步骤适用于我的应用:
激活应用程序,将系统亮度设置为默认值,然后另存为sysBright.
使用我的应用更改亮度,更改亮度,然后另存为appBright.
使用主页按钮或锁定按钮ResignActive应用程序,将亮度设置为sysBright(步骤1值,系统默认亮度).
再次激活应用.然后它将重复上述步骤1至3.
第3步有问题,当我使用锁定按钮取消激活应用程序时,函数applicationWillResignActive运行良好,它可以恢复亮度值(sysBright).
但是当我按下主页按钮时,它不再起作用了.亮度仍然是我在我的应用程序中更改的值.(appBright)
有没有人对它有任何想法?谢谢你的帮助〜
这是代码:
float appBright,sysBright;
- (void)applicationDidBecomeActive:(UIApplication *)application
{
sysBright = [[UIScreen mainScreen] brightness];
[[NSUserDefaults standardUserDefaults] setFloat:sysBright forKey:@"sysBright"];
[[UIScreen mainScreen] setBrightness:appBright];
}
//doesn't work when i ResignActive with the home button
- (void)applicationWillResignActive:(UIApplication *)application
{
[[NSUserDefaults standardUserDefaults] floatForKey:@"sysBright"];
[[UIScreen mainScreen] setBrightness:sysBright];
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
如何在应用程序中编程改变亮度的能力?我知道它可能,因为我已经看到至少有三个应用程序可以做到这一点.这对我的应用程序非常有用.我知道它只能在iOS 5中使用UIScreen类,但我不知道如何编程.请帮我!