iOS 8显示应用角标

1. iOS 8角标显示须要用户授权,可在应用启动时请求授权:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
     {
        if ([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0)
        {
            UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
            UIUserNotificationSettings *notificationSettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
            [[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];
        }
        else
        {
            UIRemoteNotificationType types = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
            [[UIApplication sharedApplication] registerForRemoteNotificationTypes:types];
        }

        return YES;
    }

2. 显示角标:

- (void)showBadgeNumbers
{   // Request Method(服务器返回指定数据datas)

   // 若无新数据
    if ([datas isEqualToString:@"0"])
    {
        [self cleanBadgeNumber];
    }
    else
    {
        // tabBarItem右上角显示未读数
        self.tabBarItem.badgeValue = datas;
        // 应用右上角显示应用未读数
        [UIApplication sharedApplication].applicationIconBadgeNumber = datas.intValue;
    }
}

3. 清空角标:

- (void)cleanBadgeNumber
{
    // tabBarItem右上角显示未读微博数
    self.tabBarItem.badgeValue = nil;
    // 应用右上角显示应用未读微博数
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}

4. 设置定时器自动调用

- (void)viewDidLoad {
    [super viewDidLoad];// 显示未读数
    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:30 target:self selector:@selector(showBadgeNumbers) userInfo:nil repeats:YES];
    // 加入Runloop
    [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
}

5. 应用进入后台继续调用

- (void)applicationDidEnterBackground:(UIApplication *)application {
    // 向操作系统申请后台运行资格, 后台运行时间受系统控制
    __block UIBackgroundTaskIdentifier taskIdentifier = [application beginBackgroundTaskWithExpirationHandler:^{
        // 后台运行时间已经结束

        // 结束任务
        [application endBackgroundTask:taskIdentifier];
    }];
}
时间: 2024-07-29 14:03:15

iOS 8显示应用角标的相关文章

iOS 未读消息角标 仿QQ拖拽 简单灵活 支持xib(源码)

一.效果 二.简单用法 超级简单,2行代码集成:xib可0代码集成,只需拖一个view关联LFBadge类即可 支持pod导入pod 'LFKit/LFBadge' //一般view上加角标 _badge1 = [[LFBadge alloc] init]; [_badge1 addToTabBarItem:_view1]; //BarButtonItem上加角标 _badge2 = [[LFBadge alloc] init]; [_badge2 addToBarButtonItem:self

ios uibutton加数字角标

http://www.jianshu.com/p/0c7fae1cadac 第一种:https://github.com/mikeMTOL/UIBarButtonItem-Badge第二种:https://github.com/cwRichardKim/RKNotificationHub JSBadgeView  可以设置在任何view的很多位置,很好用 按钮右上角加个数字红点JSBadgeView *badgeView = [[JSBadgeView alloc]initWithParentV

Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示

参考: http://dev.xiaomi.com/doc/p=3904/index.html http://my.oschina.net/ososchina/blog/352286?p=1#comments https://github.com/leolin310148/ShortcutBadger http://www.voidcn.com/blog/kongbaidepao/article/p-62251.html http://www.eoeandroid.com/thread-5572

Android 为应用添加数字角标

今天在论坛上看到了一个帖子,终于搞清了我很久以来的一个困惑,android到底能不能实现ios的角标效果,QQ是怎么实现的.看了这个帖子顿时终于解除了我的困惑. 先说一个下大概的思路: 大家都知道android系统默认是不支持角标的.但是有时候你又可以在很多系统上看到角标,这些系统包括 小米手机的miui 三星手机的TouchWiz  索尼手机; 这些手机的系统应用都可以显示数字角标.这是应为这些系统进行了定制,使用的是自己的launcher. 所以在这些系统上的实现思路就是使用这些手机的私有a

底边栏Tab切换Fragment,带角标显示效果

类似于手机版qq的底边栏Tab效果有很多种实现方法,比如TabActivity.自定义RadioGroup等.由于高版本下TabActivity已经被废弃,而且Activity比较重量级,所以一般不使用TabActivity.这里分享一种我写的自定义底部Tab的方法,顺带加上底部标签的角标显示效果.效果如下: 关于Demo需要交代几点: 1.这个Demo中并没有对尺寸做适配,在不同机型的手机上运行需要调整代码中的尺寸相关代码. 2.角标效果只是个演示效果,逻辑可能并不合理,具体显示或者改变.隐藏

IOS应用桌面icon上不显示角标问题修复

今天在做消息通知,要在桌面图标的icon上显示消息数,例如 ,在程序里也加上了代码:[UIApplication sharedApplication].applicationIconBadgeNumber = 25; 但是怎么搞就是不显示,最后查资料发现在ios8系统里必须先得让用户授权才能显示,可以在代码里加上如下代码 if (IS_IOS8) { UIUserNotificationType myType = UIRemoteNotificationTypeBadge | UIRemoteN

iOS 实现角标 新消息提示红点 数字角标

镔哥今天写写实习新消息提示的小圆圈数字角标 直接上代码吧. 1:直接复杂uibarButton类 // //  UIBarButtonItem+Badge.h //  therichest // //  Created by 淘股 on 2015-05-05. //  Copyright (c) 2015 taogu Inc. All rights reserved. // #import <UIKit/UIKit.h> @interface UIBarButtonItem (Badge) @

应用程序添加角标和tabBar添加角标,以及后台运行时显示

1.设置角标的代码:   // 从后台取出来的数据可能是int型的不能直接给badgeValue(string类型的),需要通过description转化  NSString *count = [responseObject[@"count"] description]; if ([count isEqualToString:@"0"]) { self.tabBarItem.badgeValue = nil; //设置tabBar的角标 [UIApplication

Android Badge给应用添加角标

应用角标是iOS的一个特色,原生Android并不支持.或许是因为当时iOS的通知栏比较鸡肋(当然现在已经改进了很多),而Android的通知栏功能强大?所以才出现了一方依赖于数字角标,一方坚持强大的通知栏,在日常使用中这两种交互方式都各有特色,没什么违和感.但是啊,总有人想搞些大新闻: 当收到推送而应用没有未读角标时:安卓---什么烂手机!安卓就是不行!苹果---我靠,这应用竟然连角标都不支持!删掉. 所以啊,众多手机厂商的定制系统或者Launcher都效仿iOS自定义了该功能.如果嫌适配麻烦