0

编辑:我正在尝试安排仅更新应用程序徽章的本地通知。通知不应显示警告框等。

当我的应用程序开始使用以下代码时,我正在安排本地通知:

NSDate* now = [NSDate date];
NSDate* scheduled = [now dateByAddingTimeInterval:60];
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
if (localNotif == nil)
    return;
localNotif.fireDate = scheduled;
localNotif.timeZone = [NSTimeZone systemTimeZone];
localNotif.applicationIconBadgeNumber = 1;

NSLog(@"local notif at %@", scheduled);

[application scheduleLocalNotification:localNotif];

一旦应用程序启动并在 fireDate 之前,我点击了主页按钮。我的应用程序被放在后台。在这种状态下,我的应用程序没有收到通知

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

并且应用程序图标没有装饰徽章。难道我做错了什么 ?

谢谢

编辑:就在发布后,我尝试将 UIApplicationExitsOnSuspend 添加到我的应用 Info.plist 中。当按下主页按钮时,我的应用程序按预期终止,但在预定日期之后仍然没有出现徽章。这可能是因为它是仅限徽章的本地通知吗?

编辑:向通知添加警报实际上会显示警报。诡异的 ...

localNotif.hasAction = YES;
localNotif.alertAction = @"Hoho";
localNotif.alertBody = @"Hihi";
4

2 回答 2

0

尝试以下代码:

UILocalNotification* notification = [[UILocalNotification alloc] init]; 
notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:seconds]; 
notification.timeZone = [NSTimeZone systemTimeZone];
localNotif.hasAction = YES;
localNotif.alertAction = @"Hoho";
localNotif.alertBody = @"Hihi";
notification.applicationIconBadgeNumber= dayTomorrow;

[[UIApplication sharedApplication] scheduleLocalNotification:notification]; 
[notification release];
于 2012-11-18T16:02:26.080 回答
0

一个很好的教程是:

http://www.icodeblog.com/2010/07/29/iphone-programming-tutorial-local-notifications/

并尝试本教程中的示例应用程序

于 2012-11-18T16:04:59.497 回答