Несколько одновременных UILocalNotifications - PullRequest
3 голосов
/ 25 октября 2011

Если у меня есть два (или более) UILcalNotification, которые запускаются более или менее в одно и то же время, а приложение активно в фоновом режиме, я обнаружил, что:

  • Два предупреждения отображаются одновременно дляпользователь, один покрывает другой.
  • Когда пользователь нажимает «Вид» в верхнем оповещении, оповещение удаляется с экрана, для этого уведомления вызывается didReceiveLocalNotification, и приложение выходит на передний план.
  • Как только верхнее оповещение удаляется с экрана (и приложение уже находится на переднем плане), пользователь видит оповещение, которое было под ним.
  • Однако, если пользователь нажимает «Просмотр»«для этого оповещения тоже ничего не происходит.didReceiveLocalNotification не вызывается для второго уведомления, и приложение не может узнать, что пользователь также хотел просмотреть это уведомление.

Если приложение оказывается на переднем плане, когда два уведомленияогонь, проблем нет - didReceiveLocalNotification вызывается для обоих по очереди, один за другим (в этом случае оповещение не отображается).

Есть ли способ получить уведомление для обоих подтверждений «Просмотр» в приведенном выше случае?Я что-то не так делаю?

Ответы [ 2 ]

0 голосов
/ 24 ноября 2011

На самом деле предыдущее уведомление не вызывает метод делегата didReceiveNotification (или любой другой метод, если два или более уведомления появляются, когда приложение находится в фоновом режиме). Но вы можете отслеживать это предыдущее уведомление по мере необходимости.

Например, если у вас есть приложение, которое отправляет данные на сервер при щелчке просмотра уведомлений, то ежедневно сохраняйте данные в список (и редактируйте их ежедневно), чтобы данные были отправлены или нет с помощью «Да» или «Нет», поэтому, когда приходит уведомление, приложение проверяет, были ли отправлены данные о предыдущих аварийных сигналах или нет. Если нет, то он отправит его в это время. Так что это только один способ.

0 голосов
/ 06 ноября 2011

Представлению оповещения необходимо настроить его делегат (обычно на себя) для получения событий.

...