спящий режим против открытого центра уведомлений - PullRequest
2 голосов
/ 30 января 2012

в обоих, 1) iPhone переходит в спящий режим 2) Открыть Центр уведомлений

Звонит

- (void)applicationWillResignActive:(UIApplication *)application

Есть ли способ определить, вызван ли этот метод, потому что устройство перешло в спящий режим или открыв центр уведомлений?

Ответы [ 2 ]

3 голосов
/ 06 февраля 2012

ОК, когда вы блокируете экран / iPhone переходит в спящий режим , самое переднее приложение (Ваше приложение) будет переходить в фоновый режим , а когда вы опускаете УведомлениеЦентр, ваше приложение фактически не перемещается в фоновый режим.

Итак, вы можете использовать

- (void)applicationWillEnterForeground:(UIApplication *)application

или

- (void)applicationDidEnterBackground:(UIApplication *)application

для установки значения, скажем, bgFlag, в классе делегата приложения,

, затем, когда вызывается - (void)applicationDidBecomeActive:(UIApplication *)application, вы проверяете, установлен bgFlag или нет.

Удачи.

1 голос
/ 02 февраля 2012

Есть несколько хаков, чтобы обнаружить блокировку / разблокировку , но ничего официального, что не могло бы сломаться в будущем выпуске iOS.

...