Iphone 4 SDK - Как я могу узнать, было ли приложение applicationWillEnterForeground запущено из-за уведомления? - PullRequest
2 голосов
/ 17 августа 2010

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

Есть ли способ узнать, произошел ли переход из-за уведомления опользователь щелкает значок запуска?

Спасибо.

1 Ответ

5 голосов
/ 01 сентября 2010

Этот вопрос дает ответ .

В частности, в методе didReceiveRemoteNotification вы можете проверить состояние приложения. UIApplicationStateActive означает, что он находится на переднем плане, поэтому вам нужно показать предупреждение. В противном случае Iphone обработает предупреждение:

UIApplicationState state = [application applicationState];
if (state == UIApplicationStateActive) {
    // Show the alert
 }
...