Обработка уведомлений, которые срабатывают, когда приложение не запущено, но все еще показывают, когда приложение работает - PullRequest
2 голосов
/ 21 апреля 2011

Допустим, мое приложение работает в фоновом режиме, и я одновременно получаю 2 локальных уведомления.Alert1 для Notification1 показывает, затем Alert2 для Notification2 показывает поверх Alert1.Когда я нажимаю «Просмотр» для Alert2, мое приложение выходит на передний план, и didReceiveLocalNotification вызывается для Notification2, все хорошо.

Однако Alert1 все еще отображается (так как он никогда не закрывался и не просматривался),Если я нажимаю «Просмотр», ничего не происходит и, как и ожидалось, didReceiveLocalNotification для Notification1 НЕ вызывается.

Есть ли способ либо:

  1. очистить все оповещения, чтобы Alert1 не отображался, когда приложение выходит на передний план для Alert2
  2. обрабатывать нажатие для "Просмотр »при нажатии Alert1, поскольку didReceiveLocalNotification не вызывается

Спасибо!

1 Ответ

2 голосов
/ 23 апреля 2011

Вызов cancelAllLocalNotifications также отклоняет отображаемые в настоящий момент предупреждения, даже если уведомление уже сработало.

Упоминается в Руководство по программированию локальных и push-уведомлений :

Вы можете отменить определенный график уведомление по телефону cancelLocalNotification: на объект приложения, и вы можете отменить все запланированные уведомления по телефону cancelAllLocalNotifications. Оба эти методы также программно отклонить отображаемый в данный момент оповещение об уведомлении.

Следовательно, мне нужно cancelAllNotifications и перенести мои текущие запланированные уведомления. Я попытался cancelLocalNotification, но у меня нет ссылки на уведомление, потому что оно больше не существует в массиве scheduledLocalNotifications, так как оно уже запущено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...