当app在后台时显示警告

我想在应用程序处于后台的一段时间间隔后显示多个警报。

目前我正在使用本地通知来显示警报,但是当用户按下本地通知的取消按钮时,我无法检测到操作。

UILocalNotification *localNotif = [[UILocalNotification alloc] init]; if (localNotif == nil) return; localNotif.fireDate = [NSDate date]; localNotif.timeZone = [NSTimeZone defaultTimeZone]; // Notification details localNotif.alertBody = @"This is local notification message."; // Set the action button localNotif.alertAction = @"View"; localNotif.alertAction = @"Yes"; localNotif.soundName = UILocalNotificationDefaultSoundName; [[UIApplication sharedApplication] scheduleLocalNotification:localNotif]; [localNotif release]; 

有什么其他方式我可以在应用程序处于后台时在屏幕上显示警报吗?

您将无法检测用户是否决定忽略您的UILocalNotification 。 由于您无法在后台显示UIAlertView ,因此您唯一的选择是使用UILocalNotification

但正如您所述,您无法检测用户是否单击了取消按钮,同时iOS6和通知中心也不再是取消按钮。 只有当用户选择将通知显示为警报时,才会有关闭按钮。 仍然无法检测到通知已关闭或根本没有查看。

您唯一的选择是在应用程序打开之前通过通知继续发送垃圾邮件。 但它被认为是糟糕的用户体验,可能会让你的用户讨厌。

这在ios.only中无法使用推送通知,你可以显示它。