2013-08-26 54 views
4

我想在应用程序处于后台的某段时间间隔后显示多个提醒。在应用程序处于后台时显示sceen提醒

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

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

当应用程序在后台时,有任何其他方式可以在屏幕上显示警报吗?

回答

0

这不可能在ios.only使用推送通知您可以显示它。

+0

我们可以检测推送通知上的取消按钮操作吗? – Manthan

+0

是的,你可以检测到它。 –

+0

而收到推送通知,然后下面的方法调用,并做it.-(无效)应用程序的一些proccess:(UIApplication的*)应用程序didReceiveRemoteNotification:(NSDictionary的*)USERINFO { 的(在用户信息ID键) { 的NSLog(@ “key:%@,value:%@”,key,[userInfo objectForKey:key]); } } –

1

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

但是,如您所说,您无法检测用户是否单击取消按钮,同样在iOS6和通知中心不再有取消按钮。只有当用户选择将通知显示为提醒时,才会出现关闭按钮。尽管如此,您仍然无法检测到您的通知已关闭或根本没有任何意见。

您唯一的选择就是在应用程序打开之前通过通知保留垃圾邮件。但它被认为是不好的用户体验,可能会让你的应用受到用户的憎恨。

+1

即使iOS6有一个** Close **按钮,如果我选择通知样式为**警报**从该应用程序的设置。 – Manthan

+0

@ManthanPatel正确,但默认为通知中心,如果用户选择打开通知,则只会通知用户“UILocalNotification”的操作。 – rckoenes

相关问题