Получите пользовательскую полезную информацию push-уведомлений, пока приложение работает в фоновом режиме - PullRequest
4 голосов
/ 24 августа 2011

Эй, кто-нибудь может сказать, как получить пользовательскую полезную нагрузку push-уведомлений, когда приложение находится в фоновом режиме?

Если ваше приложение работает в фоновом режиме и вы получаете push-уведомление, а пользователь нажимает на приложение «Просмотр», приложение запускается, и вызывается application:didFinishLaunchingWithOptions:. В этом случае мы можем получить доступ к пользовательской информации уведомления через UIApplicationLaunchOptionsRemoteNotificationKey из словаря userInfo.

Если ваше приложение работает в фоновом режиме и вы получаете push-уведомление и пользователь нажимает значок приложения, оно выводит приложение на передний план.

Когда это происходит, вызывается только applicationDidEnterForeground:, и нет доступа к полезной нагрузке push-уведомления.

Мое требование - зарегистрироваться только для значка, без предупреждения, поэтому нет кнопки «Просмотр» для запуска приложения, когда пользователь получает уведомление в фоновом режиме. Когда пользователь получает уведомление и приложение находится в фоновом режиме, пользователь нажимает значок приложения applicationDidEnterForeground:. Таким образом, у нас нет возможности получить доступ к словарю launchOptions или userInfo, откуда мы можем получить полезную нагрузку уведомления.

Я что-то здесь упускаю?

Ответы [ 2 ]

7 голосов
/ 27 января 2012

application:didReceiveRemoteNotification: вызывается, когда пользователь нажимает на уведомление в раскрывающейся строке состояния, если ваше приложение работает в фоновом режиме.Ссылка , на которую вы ссылались в своем ответе, объясняет, как ее использовать.

Редактировать: Извините, я неправильно понял ваш вопрос (пропустил, что вы делали только бейдж).Не стесняйтесь голосовать против меня: (

2 голосов
/ 26 сентября 2011

Я наконец узнал, что получить пользовательскую полезную нагрузку push-уведомлений, когда приложение работает в фоновом режиме, невозможно. Эта ссылка подводит итог.

...