Iphone 当应用程序处于后台时,在屏幕上显示警报

Iphone 当应用程序处于后台时,在屏幕上显示警报,iphone,ios,objective-c,uilocalnotification,Iphone,Ios,Objective C,Uilocalnotification,我想在应用程序处于后台的一段时间间隔后显示多个警报 目前,我正在使用本地通知显示警报,但当用户按下本地通知的取消按钮时,我无法检测到操作 UILocalNotification *localNotif = [[UILocalNotification alloc] init]; if (localNotif == nil) return; localNotif.fireDate = [NSDate date];

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

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

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

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

这在ios中不可行。只有使用推送通知才能显示警报。

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

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


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

我们能在推送通知上检测到取消按钮操作吗?在接收推送通知时,然后执行以下方法调用并对其进行一些处理。-(void)application:(UIApplication*)application didReceiveMemotentification:(NSDictionary*)userInfo{for(userInfo中的id键){NSLog(@“key:%@,value:%@”,key[userInfo objectForKey:key]);}@nitinkachhadiya只有在收到通知时应用程序在前台运行时,才会调用该方法。当应用程序在后台运行时,不会调用任何方法。@rckoenes是的,您是对的,只有在按下按钮查看通知时才能检测到该方法,而在关闭推送通知时则无法检测到该方法即使使用iOS6,也会出现“关闭但”错误t如果我从该应用程序的设置中将通知样式选择为警报。@ManthanPatel正确,但默认为通知中心,只有在用户选择通过通知打开应用程序时,才会通知您有关
UILocalNotification
的用户操作。