当应用在后台时,在屏幕上显示提醒

时间:2013-08-26 13:22:40

标签: iphone ios objective-c uilocalnotification

我希望在应用处于后台的某个时间间隔后显示多个提醒。

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

 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];

当app在后台时,我还有其他方式可以在屏幕上显示提醒吗?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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