本地通知

本地通知_第1张图片
本地通知
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];

你可能感兴趣的:(本地通知)