在苹果的开发API中有3个不同的通知,分别是广播通知、本地通知、推送通知。
本地通知
本地通知,它是把一些消息提示给用户。它只能使用在iOS设备中,它可以立刻发出通知,也可以在计划时间后发出。
消息提示给用户时,有三种形式:
2-1、横幅通知,即在状态栏位置出一个小横幅条,显示几秒钟之后就会消失;
2-2、提醒通知,即在设备的屏幕中间弹出一个对话框(此种提醒方式用户体验较差,因为会打扰用户正在进行的其他操作)。
这两种消息提示形式可以在系统设置中改变。设置方法:设置——通知——选择应用程序——设置消息提醒形式或关闭。
2-3、在应用程序的图标上添加标记,该标记是在图标右上角显示红色数字
代码示例
// 方法1 在计划时间发出通知,创建通知
- (void)setNotificationLocal
{
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
// 设置10秒后触发
localNotification.fireDate = [[NSDate alloc] initWithTimeIntervalSinceNow:10];
// 设置通知消息
localNotification.alertBody = @"计划通知,新年好!";
// 设置通知标记数
localNotification.applicationIconBadgeNumber = 1;
// 设置通知出现时的声音
localNotification.soundName = UILocalNotificationDefaultSoundName;
// 设置动作按钮的标题
localNotification.alertAction = @"View Details";
// 通知发送
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
// 方法2 立刻发送通知,创建通知
注意:立刻发送通知与计划内发出通知一样,不同的时发送通知的使用方法不同,立刻发送通知不需要设置通知的fireDate属性,且发送通知方法为presentLocalNotificationNow:。
- (void)setNotificationLocal
{
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
// 设置通知消息
localNotification.alertBody = @"计划通知,新年好!";
// 设置通知标记数
localNotification.applicationIconBadgeNumber = 1;
// 设置通知出现时的声音
localNotification.soundName = UILocalNotificationDefaultSoundName;
// 设置动作按钮的标题
localNotification.alertAction = @"View Details";
// 通知发送
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];
}
// 结束通知
- (void)stopNotificationLocal
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
}