本地推送的使用方法

来源:互联网 发布:帝国cms企业网站模板 编辑:程序博客网 时间:2024/05/03 14:15
/**
     *  本地推送
        应用场景:一般用于不需要网络提醒的情况
        比如:游戏的每日任务,一到8点就准时提醒,双倍时刻开启,快来登陆哦
        书籍类应用:你有多少天没看书了,要学习哦
        健康类:亲~你吃药了吗,不要放弃治疗
        恶搞类:在你分手的女朋友上安装一个软件,3个月后,自动开启xx约你开黑
        硬件类:与蓝牙连接,当程序在后台时,与蓝牙断开,需要一个提示,告诉用户,蓝牙连接断开

     */
    
    
    //创建一个本地推送
    UILocalNotification *local = [[UILocalNotification alloc]init];
    //设置推送内容
    local.alertBody= @"惊叫大王,凤姐还未出嫁,不要放弃治疗";
    //设置声音,这个声音需要小于30s,并且你本地有这个声音
    local.soundName = @"";
    //设置红色表示,用来显示多少条新的通知
    local.applicationIconBadgeNumber = 1000;
    //设置开始时间
    local.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
    //把推送通知加入推送队列中,需要注意,推送通知加入以后,程序就算被杀掉,推送通知仍然可以运行
    
    //如果要弹出推送通知,需要程序退出后台,快捷键command+shift+h
    [[UIApplication sharedApplication]scheduleLocalNotification:local];
    //ios8本地推送通知,添加一个授权方法
    if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]) {
        [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
    }
    
    //如何删除一个推送通知
    
//    //首先要获取推送

//    NSArray *localArray = [[UIApplication sharedApplication]scheduledLocalNotifications];
//    //遍历通知
//    for (UILocalNotification *notification in localArray) {
//        if ([notification.alertBody isEqualToString:@"惊叫大王,凤姐还未出嫁,不要放弃治疗"]) {
//            //删除该通知
//            [[UIApplication sharedApplication] cancelAllLocalNotifications];
//        }
//    }
//    
//    //删除所有通知
//    [[UIApplication sharedApplication] cancelAllLocalNotifications];
//    
    /**
     *  本地推送的加入方式,比如判断,3天没来,每次程序启动,把原来的旧通知删除,并且计算3天后时间
     NSInteger num = [UIApplication sharedApplication].applicationIconBadgeNumber;
     num+=1;
     local.applicationIconBadgeNumber = num;
     
     */


#pragma mark -- 本地推送通知的代理方法
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{
    NSLog(@"receiveLocalNotification");
    //希望徽标归0
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}




1 0
原创粉丝点击