我想让我的应用程序每隔20分钟播放一次声音,即使该应用程序在后台或iPhone处于睡眠模式下...我也使用过:[NSTimercheduledTimerWithTimeInterval:delay * 60.0 target:self选择器:@selector(goMethod)userInfo:无重复:是];可能工作了1个小时然后停了下来,谁能帮我解决这个问题...

最佳答案

使用UILocalNotifications。

3 strip 有repeatinterval:NSHourCalendarUnit的通知(即13:00、13:20和13:40)。

编辑:
像这样:

UILocalNotification *localNotif = [[UILocalNotification alloc] init];

localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.soundName = UILocalNotificationDefaultSoundName;
    localNotif.repeatInterval = NSHourCalendarUnit; //Repeat every hour

localNotif.fireDate = [NSDate date]; //Now
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];

localNotif.fireDate = [NSDate dateWithTimeIntervalSinceNow:1200]; //Now + 20 min
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];

localNotif.fireDate = [NSDate dateWithTimeIntervalSinceNow:2400]; //Now + 40 min
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];

[localNotif release];

关于iphone - iPhone 4的后台应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3666668/

10-12 18:37