【问题标题】:local notification repeatinterval with a specific minute of the hour本地通知重复间隔与一小时的特定分钟
【发布时间】:2012-12-23 13:16:29
【问题描述】:

我在这里尝试每小时重复一次本地通知。所以我尝试了这个示例代码:

UILocalNotification *reminderNote = [[UILocalNotification alloc]init];
    reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60];
    reminderNote.repeatInterval = NSDayCalendarUnit;
    reminderNote.alertBody = @"some text";
    reminderNote.alertAction = @"View";
    reminderNote.soundName = @"sound.aif";
    [[UIApplication sharedApplication] scheduleLocalNotification:reminderNote];

而且效果很好。但是当我尝试在一小时中的特定分钟重复它时,比如说每隔一小时,或者每隔一小时六分钟。我只是想不出办法做到这一点!我试图将SinceNow更改为其他任何东西,但它不起作用!

有没有办法改变它?或我应该处理的任何其他示例代码?

提前致谢。

【问题讨论】:

标签: ios objective-c xcode4.5 uilocalnotification repeatingalarm


【解决方案1】:

如果第一次和第二次提醒重复之间的重复间隔与其余的间隔不同,您需要使用正确的触发日期定义一个本地通知,例如整点后 6 分钟。然后将重复间隔设置为NSHourCalendarUnit

您可以使用NSCalendarNSDateComponents 以通常的模式指定间隔。这是有据可查的here

【讨论】:

  • 谢谢。但实际上现在所有的间隔都是一样的。因此,例如,我希望通知在一小时后 7 分钟触发......现在当我尝试上面提供的代码时。它实际上是从应用程序激活的那一刻开始计算的。不是从指定的分钟开始。正如它所说的SinceNow..“reminderNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60];”
  • 好吧,不要使用“sinceNow”。使用以正确分钟计算的日期!
  • 我按照你说的做了,但还是不行。我试图在这里向您展示我的工作,但没有足够的空间,所以我将在新问题中发布新代码。非常感谢您的笔记。
  • 可以在问题中发布更多代码。我会很高兴看到它。
  • 你能看看我的新问题吗..link
【解决方案2】:
reminderNote.repeatInterval = NSHourCalendarUnit;

【讨论】:

  • 但是如何指定分钟?
  • 分钟..... yourNotificationObject.repeatInterval = NSMinuteCalendarUnit;并在几秒钟内 yourNotificationObject.repeatInterval = NSSecondCalendarUnit;
  • 问题未正确回答。 @P.J 您的代码将每小时重复一次,但这里的要求是每小时 6 分钟。
  • @DheerajGupta 我在这里的角色只是编辑,仅此而已。如果你想回答这个问题,之前的答案已经回答了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-10
相关资源
最近更新 更多