iOS开发:本地通知(推送)

原创 2015年11月18日 22:37:09

主要步骤

/*
        创建本地通知的步骤:
     1.创建UILocalNotification:
     2.设置处理通知的时间fireDate
     3.配置通知的内容:通知主体、通知声音、图标数字等
     4.配置通知传递的自定义数据参数userInfo
     5.调用通知,可以使用scheduleLocalNotification:按计划调度一个通知,也可以使用presentLocalNotificationNow立即调用通知

     */

1.开启权限


    if ([[UIApplication sharedApplication] currentUserNotificationSettings].types != UIUserNotificationTypeNone) {
     //开启了,直接调用私有方法创建推送   
        [self addLocalNotification];

    }else{
     //没开启,请求开启
        [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]];

    }

2. 添加本地推送私有方法

#pragma mark - 添加本地通知
- (void)addLocalNotification{

    //初始化对象
    UILocalNotification *notification = [[UILocalNotification alloc]init];
    //设置时间
        //时区
    notification.timeZone = [NSTimeZone defaultTimeZone];
    notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];
    //重复次数
    notification.repeatInterval = 2;
    notification.repeatInterval = NSCalendarUnitDay;
    //推送内容
    notification.alertBody = @"hello, everyone";
    notification.alertAction = @"I'm Kevin";
    //右上角显示个数
    notification.applicationIconBadgeNumber++;
    //提示声音
    notification.soundName = UILocalNotificationDefaultSoundName;
    //通知参数:
    notification.userInfo = @{@"id":@1, @"user":@"Kevin"};
    //注册
    [[UIApplication sharedApplication] scheduleLocalNotification:notification];

}

3.处理通知

#pragma mark - 进入前台后设置消息信息
- (void)applicationWillEnterForeground:(UIApplication *)application {

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}


#pragma mark - 调用过用户注册通知方法之后执行
//这个是在App delegate中的代理 方法回调 
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings{

    if (notificationSettings.types != UIUserNotificationTypeNone) {

        [self addLocalNotification];
    }


}

4.移除通知

#pragma mark - 移除本地通知
- (void)removeNotification{

    [[UIApplication sharedApplication] cancelAllLocalNotifications];

}

效果演示:![](http://img.blog.csdn.net/20151118224539300)

版权声明:转载请注明出处:http://blog.csdn.net/kevindongkun

iOS开发推送本地通知

一、LocalNotification的注册和处理。 要使用本地通知功能你需要现在AppDelegate中进行注册,声明通知的类型和相应的Action(如果有的话),代码如下: ...
  • NSNirvana
  • NSNirvana
  • 2015年09月20日 12:03
  • 605

iOS开发之旅--本地通知的发送与取消

现在有时间,就把之前学习的使用过的本地通知的基本过程给大家分享一下。     解释一下本地通知是程序员在应用中给用户手动推送的消息。(与远程推送的具体区别,后期会更新。)      本地通知的具体...
  • toto18369905359
  • toto18369905359
  • 2015年11月30日 18:20
  • 283

iOS开发本地通知(每天定点发送消息推送)

NSDate now = [NSDate date]; //取得系统时间 NSCalendar calendar = [[NSCalendar alloc] initWithCalendarIdent...
  • HDFQQ188816190
  • HDFQQ188816190
  • 2017年03月27日 22:36
  • 437

iOS开发---本地通知(UILocalNotification)

iOS中通知机制又叫消息机制,其包括两类:一类是本地通知;另一类是推送通知,也叫远程通知。 本地通知是由本地应用触发的,它是基于时间行为的一种通知形式,例如闹钟定时、待办事项提醒,又或者一个应用在一...
  • qq_34195670
  • qq_34195670
  • 2016年07月12日 10:28
  • 3327

iOS开发(OC)——本地通知

1、创建本地通知UIApplication * application=[UIApplication sharedApplication]; //如果当前应用程序没有注册本地通知,需要注册 ...
  • liumude123
  • liumude123
  • 2016年08月17日 17:43
  • 341

关于iOS 9之前的本地推送,本地推送杀掉进程后到底能不能收到?

昨天下午去面试 面试官:“本地推送,在杀掉进程以后还可以收到吗?” 我(非常肯定的):“可以的” 面试官:“并不能,不信你回去写个demo吧” 我:“我写过本地推送,确实是可以的啊” 面试官...
  • u013679882
  • u013679882
  • 2016年11月29日 11:49
  • 2238

iOS本地通知——每天固定时间发送通知

那是一个闷热的夏天,我会想起被色魔张大妈统治的恐惧,和每天十点签到的高潮。。。。 一个每天固定时间本地通知的小代码 + (void)registerLocalNotification{名...
  • qq_35880238
  • qq_35880238
  • 2016年08月15日 18:54
  • 910

iOS-OC-本地推送和取消本地推送服务

1.添加本地推送 // 设置本地通知 + (void)registerLocalNotification:(NSInteger)alertTime alertBody:(NSString *)ale...
  • u014220518
  • u014220518
  • 2016年05月24日 12:07
  • 3630

Android本地定时通知

转载请注明:http://blog.csdn.net/u012854870/article/details/68944598首先要实现本地定时通知最主要的是要用到系统的AlarmManager来实现的...
  • u012854870
  • u012854870
  • 2017年04月01日 14:56
  • 792

Android实现本地推送通知的解决方案

废话不多说,直接进入正题.  一、自己写代码创建通知,可以参考以下代码:    NotificationManager nm=(NotificationManager) getSystem...
  • xinpo66
  • xinpo66
  • 2014年09月02日 17:45
  • 14860
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS开发:本地通知(推送)
举报原因:
原因补充:

(最多只允许输入30个字)