IOS5 setBrightness не работал с applicationWillResignActive

Я использую [[UIScreen mainScreen]setBrightness: ] (в sdk 5.0) для изменения фоновой яркости системы в моем приложении.

Следующие шаги работают с моим приложением

  1. Активируйте приложение, установите яркость системы по умолчанию, затем сохраните как sysBright.

  2. Измените яркость с помощью моего приложения, измените яркость, затем сохраните как appBright.

  3. ОтменаАктивируйте приложение кнопкой "Домой" или кнопкой блокировки, установите яркость на sysBright (значение шага 1, яркость системы по умолчанию).

  4. Снова активируйте приложение. Затем повторите шаги с 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];        
}
10
задан phnessu4 27 November 2011 в 07:57
поделиться