美文网首页
APNS清空icon数字的多种姿势

APNS清空icon数字的多种姿势

作者: 大大东 | 来源:发表于2017-03-10 10:11 被阅读242次

关于iOS的推送角标,实在是比较坑爹

对于apns来讲,如果app收到了多条推送,推送通知栏会有多条消息,当用户启动app,我们最常用的方式就是调用下面的方法清空角标 :

  [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

在进入后台一看,嗯,确实清掉了角标
拉开通知中心一看,尼玛,推送呢? 一条也没了。。。
那么如何在不影响通知栏消息的基础上清掉角标呢?

变化规律
  1. 本地推送UILocalNotification的applicationIconBadgeNumber属性只会影响角标的显示,不会影响通知栏的通知处理。
  • 当applicationIconBadgeNumber>0时,角标会随applicationIconBadgeNumber而变化。
  • 当applicationIconBadgeNumber=0时,角标维持推送前状态不变。
  • 当applicationIconBadgeNumber<0时,角标置0不显示。
  1. 远程推送的badge字段,只会影响角标的显示,不会影响通知栏的通知处理。
  • 当badge>0时,角标会随badge而变化。
  • 当badge=0时,角标维持不变。
  • 当badge<0时,角标维持不变。
  1. UIApplication的applicationIconBadgeNumber属性既会影响角标的显示,又会影响通知栏通知的处理。
  • 当applicationIconBadgeNumber>0时,角标会随之变化,通知栏通知不变。
  • 当applicationIconBadgeNumber=0时,角标变为0不显示,通知栏通知清空。
  • 当applicationIconBadgeNumber<0时,角标变为0不显示,通知栏通知清空。

这时一个优雅的方案就出现了:

- (void)applicationDidEnterBackground:(UIApplication *)application {
    //清空徽标 -  会保留通知栏信息
    if (application.applicationIconBadgeNumber <= 0) {
        return;
    }
    UILocalNotification *local = [[UILocalNotification alloc] init];
    local.fireDate = [NSDate date];
    local.applicationIconBadgeNumber = -1; // 置空
    [application scheduleLocalNotification:local];
}

如此以来 ,再也不用担心通知中心被清空啦~~~

相关文章

  • APNS清空icon数字的多种姿势

    关于iOS的推送角标,实在是比较坑爹 对于apns来讲,如果app收到了多条推送,推送通知栏会有多条消息,当用户启...

  • icon的多种实现

    一、使用image实现 注意img的大小设置 使用vertical-align对齐 所有都兼容 缺点:img数量多...

  • oc-UIApplication

    下面是这个类的一些功能: 1.设置icon上的数字图标 //设置主界面icon上的数字图标,在2.0中引进,缺省为...

  • vux 踩坑【1】:x-input @on-click-clea

    x-input @on-click-clear-icon 删除按钮不起作用 一、 问题描述:点击input里的清空...

  • 本地推送被清除

    问题:在定义本地推送时,发现在iOS11系统中,在点击远程推送后,本地推送被清空,只留下APNs推送信息。 原因:...

  • 反弹shell的多种姿势

    一、常用反弹命令 1、powershell反弹(win7测试可以)powershell.exe IEX (New-...

  • unity3dUGUI实现icon图标自动与数字对齐

    有时候需要显示货币和数量,特别是商店和道具用的最多,需要一个icon和一个数字,比如数字右对齐,icon根据cou...

  • 爱,有多种姿势

    (特别提示:爱,是个技术活,是个要不断改进的技术活。) 那天,爸爸要姑娘准备泳衣去游泳,姑娘说:“你帮我准备。” ...

  • iOS 获取网址 icon

    获取网址 icon有多种方法, 这里只提供一种比较简单可行的方法 网址的 icon 实际上就是网站的 favico...

  • APNS与VoIP

    APNS 一、简述APNS APNS全称是Apple Push Notification service(苹果推送...

网友评论

      本文标题:APNS清空icon数字的多种姿势

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