Отключить localNotification после отображения alertView

В моем приложении отслеживается расстояние, установленное пользователем. Когда расстояние преодолено, отображается диалоговое окно AlertView и воспроизводится звук. При нажатии кнопки «ОК» значок alertView исчезнет, ​​и звук прекратится. Когда приложение переходит в фоновый режим, метод UILocalNotification заботится о звуке и сообщении. Это нормально работает. Но...

Когда приложение находится на переднем плане, а AlertView отображается и закрывается, метод UILocalNotification остается активным. Таким образом, когда приложение переходит в фоновый режим, оно «воспроизводит» локальное уведомление со звуком (снова).

Как я мог избежать такого поведения?

Я хочу, чтобы сообщение проигралось один раз. На переднем плане ИЛИ на заднем плане. Не оба. Я пытался решить эту проблему с помощью оператора if (), но это дает мне неожиданные результаты.

Пожалуйста посоветуй.


person A3O    schedule 14.02.2013    source источник


Ответы (1)


Просто позвони

[[UIApplication sharedApplication] cancelAllLocalNotifications]; 

когда пользователь закрывает предупреждение на переднем плане.

Если вам нужно активировать другие локальные уведомления, просто отмените то, о котором идет речь.

person Mundi    schedule 14.02.2013
comment
Спасибо! Я в правильном направлении. Какое-то неожиданное поведение, но я думаю, что смогу это понять. В противном случае ... stackoverflow.com - отличный помощник! - person A3O; 15.02.2013