UILocalNotification本地通知的使用方法

UILocalNotification一般做为定时器使用,可以定时提醒,定时唤醒。

1.对象的创建

    UILocalNotification *notification = [[UILocalNotification alloc] init];
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    NSString *noticeDate = @"2012-07-30 12:00:00";
    formatter.dateFormat = @"yyyy-MM-dd HH:mm";
    //设置触发时间
    notification.fireDate = [formatter dateFromString:noticeDate];
    //触发频率,0表示只有一次,频率不能为自定义的
    notification.repeatInterval = 0;
    notification.repeatInterval = kCFCalendarUnitDay;
    notification.repeatInterval = kCFCalendarUnitWeek;
    //用户信息,为字典类型,内容可以自己设定,这里存放了唯一的key做为标记
    NSDictionary *dict = [[NSDictionary alloc] dictionaryWithObjectsAndKeys:
                          [NSString stringWithFormat:@"%d", noticeInfo.notifyID],KEY,nil];
    [notification setUserInfo:dict];
    //提醒内容
    notification.alertBody = @"HELLO";
    //提醒铃音必须为默认的或声音文件
    notification.soundName = UILocalNotificationDefaultSoundName;//@"ping.caf";
    //添加到系统管理队列中
    [[UIApplication sharedApplication] scheduleLocalNotification:notification];

2.对象的管理

//获取当前所有提醒,内容为UILocalNotification数组
   [[UIApplication sharedApplication] scheduledLocalNotifications];
  //添加提醒
  UIApplication *app = [UIApplication sharedApplication];
  [app scheduleLocalNotification:notification];
  //取消提醒,遍历所有提醒,从中找到需要取消的那个
      NSArray *myArray=[[UIApplication sharedApplication] scheduledLocalNotifications];
    for (UILocalNotification *myUILocalNotification in myArray) {
        if ([[[myUILocalNotification userInfo] objectForKey:KEY] intValue] == value) {
            [[UIApplication sharedApplication] cancelLocalNotification:myUILocalNotification];
            return;
        }
    }
  //取消所有提醒
  UIApplication *app = [UIApplication sharedApplication];
  [app cancelAllLocalNotifications];

3.提醒的处理,提醒触发时会回调appdelegate的如下方法

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
    //本地通知
    NSLog(@"notification--->>%@",notification);
    NSString *alertBody=notification.alertBody;
    UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"定时提醒" message:alertBody delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
    [alert show];
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值