Можно ли узнать, когда iPhone пойдет спать? - PullRequest
2 голосов
/ 06 августа 2010

Есть ли какое-либо уведомление, которое я могу прослушать, которое предупредит меня, что телефон перейдет в спящий режим? Я реализовал следующее:

[[NSNotificationCenter defaultCenter] 
              addObserver:self 
                 selector:@selector(resignActive:)
                     name:UIApplicationDidEnterBackgroundNotification
                   object:nil];

но похоже, что он не срабатывает, когда телефон переходит в спящий режим после некоторого времени бездействия (1 минута в моих настройках). Причина, по которой я думаю, что он не работает, заключается в том, что у меня есть таймер, который выполняет действие каждую секунду, и если определенное время прошло (больше одной минуты), он выдает звуковой сигнал. В моем отставке Active я делаю недействительным свой таймер, и он работает нормально, когда я нажимаю кнопку «Домой», но не когда телефон переходит в спящий режим. Кажется, он все еще работает в фоновом режиме, но «на более низкой скорости», так как время намного больше обычного (около 10 минут вместо 2 минут).

Есть идеи, что происходит, когда телефон переходит в режим сна? Я прочитал эти два поста, но они не отвечают на мой вопрос.

Что происходит с приложением iPhone, когда iPhone переходит в режим ожидания?

Приложение Iphone задерживается на 10-15 минут, когда iphone находится в спящем режиме

1 Ответ

1 голос
/ 06 августа 2010

Реализует эти 2 метода в UIApplicationDelegate:

- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application

Он также будет вызываться при отображении push-уведомления из другого приложения (или SMS) ...

...