本地通知·

2016-07-13  本文已影响22人  陪你看日出去

#pragma mark - 处理小红点的个数

//接收到本地通知任务之后所做的操作
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
     notification.applicationIconBadgeNumber = 0;
}
//应用将要进入前台的时候
- (void)applicationWillEnterForeground:(UIApplication *)application {
    application.applicationIconBadgeNumber = 0;
}

#pragma mark - 取消本地通知任务

-(void)cancelLocalNotification
{
    //方式一:直接取消全部的通知任务
    //[[UIApplication sharedApplication]cancelAllLocalNotifications];
    //方式二:取消指定条件下的通知任务
    //首先获取系统管理里面全部的通知任务
    NSArray * notifications = [[UIApplication sharedApplication]scheduledLocalNotifications];
    for (UILocalNotification * noti in notifications) 
    {
         //通过条件判断,取消指定条件下的通知任务
         if ([noti.alertBody isEqualToString:@""]) 
         {
              [[UIApplication sharedApplication]cancelLocalNotification:noti];
              //处理小红点的数目
              noti.applicationIconBadgeNumber = 0;
          }
     }
}

#pragma mark - 创建本地通知任务

-(void)createLocalNotification
{
    //创建对象
    UILocalNotification * localNotification = [[UILocalNotification alloc]init];
    //设置推送时间,从当前时间开始计算多长时间之后开始推送
    localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
    //设置推送重复的周期,相隔多长时间推送一次
    localNotification.repeatInterval = NSCalendarUnitHour;
    //设置推送的时区,使用默认的时区
    localNotification.timeZone = [NSTimeZone defaultTimeZone];
    //设置需要推送的内容
    localNotification.alertBody = @"亲~~~不要忘了吃药,千万不要放弃治疗";
    //设置推送消息时的音效
    localNotification.soundName =@"音效.caf";
    //设置接收到消息之后的小圆点数目
    localNotification.applicationIconBadgeNumber = 1;
    //将本地通知任务添加到系统管理里面
    [[UIApplication sharedApplication]scheduleLocalNotification:localNotification];
}
上一篇下一篇

猜你喜欢

热点阅读