Я использую [[UIScreen mainScreen] setBrightness:] (в sdk 5.0), чтобы изменить системный фоновой свет в моем приложении.
Следующие действия выполняются с моим приложением:
-
Включите приложение, установите яркость системы по умолчанию, затем сохраните как sysBright.
-
Измените яркость с помощью моего приложения, измените яркость, а затем сохраните как appBright.
-
Приложение ResignActive с кнопкой "home" или кнопкой блокировки, установите яркость в 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];
}
Мне что-то не хватает?