ios设置角标不显示的问题

ios设置角标不显示的问题,第1张

  [[UIApplication sharedApplication] setApplicationIconBadgeNumber:99]

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:count]

  [UIApplication sharedApplication].applicationIconBadgeNumber = 99

  当角标个数为0的时候,设置个数为0,系统会自动设置角标不显示

如果项目中集成了友盟的推送,那就是友盟推送默认清空角标,需要将默认清空关闭。调用此方法:

[UMessage setBadgeClear:NO]

    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge categories:nil]

    [[UIApplication sharedApplication] registerUserNotificationSettings:settings]

    [application registerForRemoteNotifications]

    if (@available(iOS 10.0, *)) {

        UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]

        center.delegate = self

        [center requestAuthorizationWithOptions:(UNAuthorizationOptionBadge|UNAuthorizationOptionSound) completionHandler:^(BOOL granted, NSError * _Nullable error) {

            if (!error) {

                NSLog(@"请求权限成功!")

            }

        }]

        [center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {

            NSLog(@"%@",settings)

        }]

        [[UIApplication sharedApplication] registerForRemoteNotifications]

    } else {

        // Fallback on earlier versions

    }

在苹果手机机设置界面中关闭某个软件的允许通知开关,就能够清除苹果手机桌面中某个图标上面的角标了。

以苹果6s为例,具体 *** 作步骤如下:

一、第一步,在手机桌面找到设置,然后点击进入设置,如下图所示

二、第二步,进入设置后,找到“通知”,接下来点击通知,如下图所示。

三、第三步,接下来点击一个要取消角标的应用,如下图所示。

四、第四步,接下来点开之后,点击关闭允许通知开关,如下图所示。

五、第五步,然后就设置完成,成功取消了桌面中某个图标的角标,如下图所示。

应用角标控制方式比较多,简单列举一下,方便大家处理类似问题。

如果推送没有 badge 参数,那么每次推送 badge 数量为 +1。

如果 Code / Push 都不能满足需求的时候,比如推送后还要根据本地数据对 badge 做特殊处理,就可以考虑下 UNNotificationServiceExtension 方案。但是有个前提是 push 的消息要带 "mutable-content":1 才能拦截处理。UNNotificationServiceExtension 原理如下图:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6602434.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-25
下一篇 2023-03-25

发表评论

登录后才能评论

评论列表(0条)

保存