美文网首页iOS开发资料收集区
iOS清空推送消息badge

iOS清空推送消息badge

作者: 幻梦_ | 来源:发表于2018-11-30 23:45 被阅读115次

    1、清除手机APP上的角标badge

    - (void)applicationWillEnterForeground:(UIApplication *)application {
        [application setApplicationIconBadgeNumber:0];
        [application cancelAllLocalNotifications];
    }
    

    这种方式会删除角标但同时也会删除通知栏的通知信息
    2、还有一种方式 只会清除角标但是不会清除通知栏的信息

    //不在appIcon上显示推送数量,但是在系统通知栏保留推送通知的方法
    #define isIOS11 ([[UIDevice currentDevice].systemVersion floatValue] >= 11)
    
    -(void)resetBageNumber{
      if(isIOS11){
        /*
         iOS 11后,设置badgeNumber = -1就生效了
         */
        [UIApplication sharedApplication].applicationIconBadgeNumber = -1;
      }else{
        UILocalNotification *clearEpisodeNotification = [[UILocalNotification alloc] init];
        clearEpisodeNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:(0.3)];
        clearEpisodeNotification.timeZone = [NSTimeZone defaultTimeZone];
        clearEpisodeNotification.applicationIconBadgeNumber = -1;
        [[UIApplication sharedApplication] scheduleLocalNotification:clearEpisodeNotification];
      }
    
    }
    
    
    

    相关文章

      网友评论

        本文标题:iOS清空推送消息badge

        本文链接:https://www.haomeiwen.com/subject/qiakcqtx.html