Запланируйте локальное уведомление о срабатывании локального уведомления - PullRequest
1 голос
/ 20 июня 2011

Я хочу запланировать локальное уведомление, когда моё предыдущее локальное уведомление будет запущено. Это должно быть запланировано без учета пользовательских нажатий «Просмотр» или «Отмена». Я не могу найти подходящее место (метод делегирования) для планирования нового уведомления. Согласно документам Apple, приложение: (UIApplication *) кажется, что его не вызывают, когда приложение выходит на передний план из фона и приложения: (UIApplication *) application didReceiveLocalNotification: вызывается только при нажатии кнопки «Просмотр», а не при закрытии. Как мне это сделать? оценены.

1 Ответ

0 голосов
/ 20 июня 2011

Да. Вы правы насчет локальных уведомлений. Вы должны нажать "view", чтобы вызвать didReceiveLocalNotification:. Если вы нажмете "Cancel", вы не будете беспокоиться об уведомлении. Если вам все равно, почему iOS должно заботиться? : -)

Вы планируете уведомление. Итак, вы знаете, когда он будет уволен. Не так ли? Тогда зачем ждать первого уведомления? Просто запланируйте второе уведомление вместе с первым уведомлением.

Обходной путь:

Руководство по программированию локальных и push-уведомлений говорит, что для каждого приложения разрешено только 64 локальных уведомления. Итак, запланируйте первые 64 уведомления изначально. А когда приложение откроется в следующий раз, отметьте [UIApplication sharedApplication] scheduledLocalNotifications] и запланируйте следующие (64 - запланированные локальные уведомления) уведомления.

int scheduledNotifications = [UIApplication sharedApplication] scheduledLocalNotifications];  
int n = 64 - scheduledNotifications;  
[self Schedule-next-n-notifications];

Примечание. Мы не можем гарантировать, что это будет работать идеально. В случае, если приложение открывается после очень длительного перерыва, например, через 1 или 2 месяца, некоторые уведомления не были бы запланированы в надлежащее время.

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