В моем приложении есть функция (приложение метронома для музыкантов), чтобы уменьшить яркость экрана, чтобы сэкономить заряд аккумулятора.Чтобы установить яркость, я использую:
[UIScreen mainScreen].brightness = 0.1;
Я сохраняю исходную яркость при запуске приложения в viewDidLoad (...) и сохраняю ее в моих пользовательских настройках по умолчанию.
Когдаизменяя представления в приложении, я получаю исходную яркость из пользовательских настроек по умолчанию и восстанавливаю с помощью вызова:
[UIScreen mainScreen].brightness = originalBrightness;
Это работает отлично.У меня есть сообщения NSLog (...), показывающие исходное значение и т. Д., Поэтому механизм работает.
У меня проблема в том, как восстановить исходную яркость при выходе из приложения при нажатии кнопки «Домой»..
Я добавил аналогичный код в методы делегата моего приложения для:
applicationWillResignActive(...)
applicationDidEnterBackground(...)
applicationWillTerminate(...)
Каждый из них имеет вызов метода для установки яркости экрана, как и раньше, в представлении с аналогичным NSLog (...) показывает восстановленную оригинальную яркость ... и все правильно.Я также произвел отладку, и выполняются вызовы для установки яркости ... но приложение закрывается, и экран устройства все еще находится на нижнем, затемненном уровне.
Наконец, если вы нажмете "Блокировка"нажмите кнопку сверху, затем нажмите кнопку «Домой», чтобы разбудить его ... яркость правильная.
Я подозреваю, что любое действие или событие, вызванное моим вызовом для установки яркости при выходе из приложения,не удается получить доступ, возможно, из-за недопустимого состояния или аналогичного.
Кроме того, мое приложение настроено на работу НЕ в фоновом режиме, для него в файле info.plist указано:
Application does not run in background YES
AnyПомощь будет оценена.
Спасибо!