Невозможно восстановить яркость при выходе из приложения

У меня есть функция в моем приложении (приложение метронома для музыкантов), чтобы уменьшить яркость экрана, чтобы сэкономить заряд батареи. Чтобы установить яркость, я использую:

[UIScreen mainScreen].brightness = 0.1;

Я сохраняю исходную яркость при запуске приложения в viewDidLoad (...) и сохраняю ее в своих пользовательских настройках по умолчанию.

При изменении представлений в приложении я получаю исходную яркость из пользовательских настроек по умолчанию и восстанавливаю ее с помощью вызова:

[UIScreen mainScreen].brightness = originalBrightness;

Это отлично работает. У меня есть сообщения NSLog (...), показывающие исходное значение и т. Д., Поэтому механизм работает.

У меня возникла проблема, как восстановить исходную яркость при выходе из приложения при нажатии кнопки «Домой».

Я добавил аналогичный код в методы делегата моего приложения для:

applicationWillResignActive(...)
applicationDidEnterBackground(...)
applicationWillTerminate(...)

Каждый из них имеет вызов метода для установки яркости экрана, как и раньше, в представлении с аналогичными NSLog (...), показывающими полученную исходную яркость .. .и все правильно. Я также отлаживал, и выполняются вызовы для установки яркости ... но приложение закрывается, а экран устройства все еще находится на более низком, затемненном уровне.

Наконец, если вы нажмете кнопку «заблокировать» вверху, а затем нажмите кнопку «Домой», чтобы разбудить его ... яркость правильная.

Я подозреваю, что любое действие или событие, вызванное моим вызовом для установки яркости при выходе из приложения, не проходит, возможно, из-за недопустимого состояния или чего-то подобного.

Кроме того, мое приложение НЕ настроено на работу в фоновом режиме, задано в info.plist как:

Application does not run in background     YES

Любая помощь будет принята с благодарностью.

Спасибо!

12
задан SSteve 20 December 2012 в 03:34
поделиться