4

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

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

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

当应用程序处于后台时,还有其他方法可以在屏幕上显示警报吗?

4

2 回答 2

1

如果您的用户决定忽略您的UILocalNotification. 由于您不能UIAlertView在后台显示 a ,因此您唯一的选择是使用UILocalNotification.

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

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

于 2013-08-26T13:30:42.723 回答
0

这在 ios 中是不可能的。只有使用推送通知才能显示它。

于 2013-08-26T13:26:12.670 回答