我一直在寻找UILocalNotification的API。我想在点击火药时设置徽章编号。没有弹出窗口。我尝试将我的通知设置为只有一个徽章编号为1且没有警报正文。但这没用。
//Add new local push notification
locationNotification.fireDate = date;
locationNotification.timeZone = [NSTimeZone defaultTimeZone];
//locationNotification.alertBody = [NSString stringWithFormat:body];
//locationNotification.alertAction = @"Ok";
//locationNotification.soundName = UILocalNotificationDefaultSoundName;
locationNotification.applicationIconBadgeNumber = 1;
这可能吗?我只想在打开应用程序后显示该消息。
答案 0 :(得分:1)
我为我所从事的项目完成了类似的工作。我只需要显示一个没有警报的徽章编号。您可能需要在通知中添加“声音”,我所做的是添加0.5
秒静音文件。我的代码看起来像这样。
UILocalNotification *notif = [[UILocalNotification alloc] init];
notif.fireDate = [NSDate date];
notif.timeZone = [NSTimeZone defaultTimeZone];
notif.soundName = @"silence.caf";
notif.applicationIconBadgeNumber = 2;
[[UIApplication sharedApplication] scheduleLocalNotification:notif];
[notif release];
希望这有帮助!
答案 1 :(得分:0)
这是一个老问题,但希望这会对某人有所帮助。我根本没有想到可以安排静默的本地通知,但似乎确实如此。
这有效:
UILocalNotification* notification = [[UILocalNotification alloc] init];
notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
notification.timeZone = [NSTimeZone systemTimeZone];
notification.alertBody = nil;
notification.applicationIconBadgeNumber = 99;
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
我还尝试向userInfo属性添加一些信息,以便我可以在预定通知中识别此通知,但这似乎可以防止通知被触发。
而不是那样,我现在使用静音音频文件作为soundName属性,以便我可以测试它。然而,无声音频文件似乎不需要实际触发通知。
如果您想要做的事情比将徽章更新为您在安排时所知道的值更有用,那么您需要使用静默推送通知并设置" content-available"标志。