Когда мое приложение получает сетевые сообщения в фоновом режиме, оно создает UILocalNotification со звуком и вызывает nowLocalNotificationNow.
UILocalNotification* localNotif = [[UILocalNotification alloc] init];
localNotif.alertBody = [NSString stringWithFormat:@"%@: \r%@ \r%@", NSLocalizedString(@"XXXXXXXXXXX", nil), XXXXX, XXXXXXXXXXX];
localNotif.alertAction = NSLocalizedString(@"View", nil);
localNotif.soundName = [NSString stringWithFormat:@"%@.%@", XXXXTONE_LONGVERSION_FILENAME, XXXXTONE_FILENAME_EXT];
[[UIApplication sharedInstance] presentLocalNotificationNow:localNotif];
[localNotif release];
Это предупреждение отображается со звуком, как ожидалось. Но в некоторых случаях мне трудно остановить звук.
1) Когда есть блокировка экрана и отображается это уведомление локального оповещения:
- Если пользователь разблокирует экран, скользя по предупреждению, звук НЕ останавливается.
- Если пользователь разблокирует экран, сдвинув " > слайд для разблокировки", он останавливает звук.
2) Когда приложение является фоновым с блокировкой экрана, звуковой сигнал предупреждения обычно прекращается после того, как приложение выходит на передний план.
Я отменяю запланированные локальные уведомления, когда приложение выходит на передний план в didReceiveLocalNotification и applicationDidBecomeActive.
application.applicationIconBadgeNumber = 0;
[application cancelAllLocalNotifications];