本地通知, 只有在程序进入后台或者退出程序时才会执行, 如果程序正在运行, 不会执行
在iOS8上面需要加上
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes::UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
// 1.
创建通知
UILocalNotification
*localNote = [[
UILocalNotification
alloc
]
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];//取消所以通知
[app
scheduleLocalNotification
:localNote];//添加通知
在appDelegate里面, 当启动程序是会调用此方法, 如果程序已经完全退出, 点击图标或者通知,都会调用这个方法,如果是点通知进入的程序, 字典里面会放有通知的userinfo内容, 如果不是, 字典为空
- (
BOOL
)application:(
UIApplication
*)application didFinishLaunchingWithOptions:(
NSDictionary
*)launchOptions
这两个方法程序执行只会调用一个
/**
说明用户点击通知 , 进入了程序 ( 程序还在运行中 , 程序并没有被关掉 )
*/
- ( void )application:( UIApplication *)application didReceiveLocalNotification:( UILocalNotification *)notification
说明用户点击通知 , 进入了程序 ( 程序还在运行中 , 程序并没有被关掉 )
*/
- ( void )application:( UIApplication *)application didReceiveLocalNotification:( UILocalNotification *)notification