如何在iPhone SDK中在后台运行警报?

时间:2012-07-31 04:24:19

标签: iphone objective-c ios

我将闹钟时间设置为1小时。当应用程序处于运行模式时,警报工作正常,但是当它处于后台时警报无法正常工作。如何在后台运行警报。

2 个答案:

答案 0 :(得分:2)

您需要使用本地通知。这很简单。有关详细信息,请参阅此文档(推送通知来自远程来源,因此您可以忽略它们。)

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008194-CH1-SW1

答案 1 :(得分:1)

此代码只是在后台显示带有警报和声音的localNotification。 因此,代码中的一些更改和警报应用程序的使用。

- (IBAction)Alert:(id)sender{

    NSDateFormatter *format = [[NSDateFormatter alloc] init];
    [format setDateFormat:@"yyyy-MM-dd"];
    //NSDate *date = [NSDate date];


    UILocalNotification *localNotif = [[UILocalNotification alloc] init];
    localNotif.fireDate =[NSDate dateWithTimeIntervalSinceNow:15];
    localNotif.timeZone = [NSTimeZone localTimeZone];
    localNotif.alertBody = @"Emergency";

    localNotif.alertAction = @"View";
    localNotif.soundName = @"police.mp3";
    localNotif.applicationIconBadgeNumber = 1;
    localNotif.repeatInterval = NSYearCalendarUnit;


    [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
    [localNotif release];



}