UILocalNotification *notification = [[UILocalNotification alloc] init];
if(notification != nil ) {
NSDate *now = [NSDate new];
notification.fireDate=[now dateByAddingTimeInterval:6]; //触发通知的时间
notification.repeatInterval=0; //循环次数,kCFCalendarUnitWeekday一周一次
notification.soundName = UILocalNotificationDefaultSoundName;
notification.alertBody=@"该去吃晚饭了!";
notification.alertAction = @"打开"; //提示框按钮
notification.hasAction = YES; //是否显示额外的按钮,为no时alertAction消失
notification.applicationIconBadgeNumber = 1; //设置app图标右上角的数字
//下面设置本地通知发送的消息,这个消息可以接受
NSDictionary* infoDic = [NSDictionary dictionaryWithObject:@"value" forKey:@"key"];
notification.userInfo = infoDic;
////发送通知
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
}
接收本地消息
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"LocalNotification" message:notification.alertBody delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil];
[alert show];
NSDictionary* dic = [[NSDictionary alloc]init];
//这里可以接受到本地通知中心发送的消息
dic = notification.userInfo;
application.applicationIconBadgeNumber -= 1;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
application.applicationIconBadgeNumber -= 1;
}
其他
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(test) name:@"test" object:nil];
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"test" object:nil];
}
发送通知
[[NSNotificationCenter defaultCenter] postNotificationName:@"test" object:nil];