您的位置:首页 > 移动开发 > IOS开发

关于iOS8上本地通知

2014-11-12 15:44 274 查看
本地通知, 只有在程序进入后台或者退出程序时才会执行, 如果程序正在运行, 不会执行

在iOS8上面需要加上

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

// 1.创建通知

UILocalNotification*localNote = [[UILocalNotificationalloc]init];



设置时区

notification.timeZone = [NSTimeZone defaultTimeZone];

// 2.设置属性

localNote.alertAction=@"聊天吧亲";//操作标题,
比如说QQ的谁谁发了什么什么

localNote.alertBody=@"啦啦啦!!!";//正文

localNote.applicationIconBadgeNumber=5;//程序图标右上角的数字

localNote.repeatInterval = NSCalendarUnitMinute;//重复时间间隔

repeatCalendar 重复日历,

soundName = “音效1.caf”; 弹出通知时候的音乐

// 推送声音

notification.soundName = UILocalNotificationDefaultSoundName;

userInfo 可以通知里面放的内容

localNote.alertLaunchImage=@"Default";//点击通知,打开程序时候现实的启动图片

//开火, 多少秒后开始执行

localNote.fireDate= [NSDatedateWithTimeIntervalSinceNow:5];

// 3.注册通知(添加)

UIApplication*app = [UIApplication sharedApplication];

[app cancelAllLocalNotifications];//取消所以通知

[appscheduleLocalNotification:localNote];//添加通知

在appDelegate里面, 当启动程序是会调用此方法, 如果程序已经完全退出, 点击图标或者通知,都会调用这个方法,如果是点通知进入的程序, 字典里面会放有通知的userinfo内容, 如果不是, 字典为空

- (BOOL)application:(UIApplication*)application
didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

这两个方法程序执行只会调用一个

/**

说明用户点击通知,进入了程序(程序还在运行中,程序并没有被关掉)


*/

- (void)application:(UIApplication*)application
didReceiveLocalNotification:(UILocalNotification*)notification
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: