UILocalNotification обработка, когда экран заблокирован - PullRequest
4 голосов
/ 29 ноября 2010

Я разрабатываю приложение для iPhone, которое в определенное время доставляет оповещения, используя UILocalNotifications.Нажатие кнопки «ОК» в предупреждении запускает приложение, чтобы оно могло выполнять определенные задачи.

Пока что в большинстве случаев все работает прекрасно: если приложение работает и предупреждение срабатывает, оно работает нормально, и еслиприложение не запущено (но телефон включен), оно работает так же хорошо.

Однако, если оповещение срабатывает при заблокированном экране, происходит одно из двух.

  1. срабатывает оповещение, и я немедленно «скользю, чтобы разблокировать», затем приложение запускается, как и ожидалось.
  2. оповещение срабатывает, но я жду, чтобы "сдвинуть, чтобы разблокировать" дольше 20 секунд (время, необходимое для блокировки (затемнения) экрана снова).Когда я наконец разблокирую экран, появляется предупреждение, но приложение НЕ запускается.

Я просмотрел все документы Apple и этот сайт, но не могу найти ответ.Я надеюсь, что мое объяснение имеет смысл.Есть мысли?

Ответы [ 2 ]

5 голосов
/ 29 ноября 2010

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

0 голосов
/ 29 ноября 2010

Спасибо за ваш быстрый и четкий ответ, Доминик. Быстрое отслеживание: цель при перезапуске приложения состоит в том, чтобы запланировать другое предупреждение. Если я отправляю несколько предупреждений одновременно (запланировано на разное время), и пользователь не разблокирует телефон ни для одного из них, все ли они появляются одновременно при первой разблокировке пользователя? (Я бы хотел, чтобы появился только последний)

Еще раз спасибо.

...