如何在iOS8中将通知类型从Banner更改为Alert?

时间:2015-04-04 17:45:08

标签: ios notifications uilocalnotification

我正在尝试创建一个应用程序,将本地通知作为警报而非横幅提供。但看起来像banner是默认的,我找不到在我的代码上更改它的方法。我可以在应用程序通知设置上更改它并且它可以正常工作,但我希望该配置是默认配置。

这是我用来询问用户发送通知权限的代码:

UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];

(顺便说一下,有人知道为什么我不能用这段代码设置图标徽章吗?)

这是我用来创建本地通知的代码:

UILocalNotification* localNotification = [[UILocalNotification alloc] init];
        localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:segundosTotal];
        localNotification.alertBody = timer.nome;
        localNotification.soundName = @"Default-28-sec-192kbps.mp3";
        localNotification.timeZone = [NSTimeZone defaultTimeZone];
        [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];

使用此代码,我获得默认的横幅通知,如何将其更改为警报通知?

1 个答案:

答案 0 :(得分:3)

我认为没有办法以编程方式强制系统将通知显示为警报而不是横幅。查看documentation for UILocalNotificationUIUserNotificationSettings,我看不到任何可以指定您想要提醒而不是横幅的内容。

由用户调整应用的通知设置 - 我会留给他们决定他们希望如何接收通知。