Обработка Uilocalnotification, когда экран заблокирован
-
29-09-2019 - |
Вопрос
Я разрабатываю приложение для iPhone, которое обеспечивает оповещения в определенное время, используя UILocalNotifications
. Отказ Нажатие кнопки OK на оповещении запускает приложение, чтобы он мог выполнять определенные задачи.
До сих пор все работает красиво в большинстве случаев: если приложение работает и оповещение, он работает нормально, и если приложение не работает (но телефон включен), он работает так же хорошо.
Тем не менее, если предупреждающие пожары, когда экран заблокирован, происходит одно из двух вещей.
- Оповещенные пожары, а я «скользить, чтобы разблокировать» немедленно, затем приложение запускается, как и ожидалось.
- Оповещенные пожары, но я жду, чтобы «скользить, чтобы разблокировать» дольше 20 секунд (время, которое требуется экран, чтобы снова заблокировать (DIM) снова). Когда я наконец открою экран, оповещение показывает, но не запускает приложение.
Я посмотрел на все документы Apple и этот сайт, но не может найти ответ. Я надеюсь, что мое объяснение имеет смысл. есть идеи?
Решение
Я думаю, что поведение имеет смысл и не должно быть обходящимся (что, я думаю, невозможно). Если пользователь скользит разблокировать чуть через несколько секунд после уведомления, проводимость высока, которую он скользил, чтобы разблокировать только из-за этого уведомления и хочет попасть в приложение. Если пройдено много времени, уведомление по-прежнему показано, но проводимость низкая, что пользовательские скольгите, чтобы разблокировать из-за этого уведомления. Скорее всего, он просто хочет написать электронное письмо или сделать что-то совершенно другое. Таким образом, приложение последнего уведомления не должно начинаться.
Другие советы
Спасибо за ваш быстрый и понятный ответ, Доминик. Быстрое наблюдение: цель в обратитении приложение - запланировать другое предупреждение. Если я отправлю несколько предупреждений одновременно (запланировано на разное время), и пользователь не разблокирует телефон для любого из них, все они появляются одновременно в первый раз, когда пользователь разблокирует? (Я бы только хотел, чтобы последний появился)
Спасибо еще раз.