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