Я использую [[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];
}
Я что-то упускаю?