本地通知

原创 2016年05月31日 14:21:57

在iOS下应用分为两种不同的notification种类,分别是本地和远程(APNS),本地notification是由iOS系统下notificationManager统一管理,我们只需要将组装好的本地通知对象添加到系统的notification管理队列中,系统会在指定的时间进行激发该通知。本地通知只能在前台后台触发,不能在其他状态下触发。

1.由于iOS8之后注册通知和之前不一样,所以要在AppDelegate的didFinishLaunchingWithOptions中进行判断:

#ifdef __IPHONE_8_0

    if ([[UIApplication sharedApplication]respondsToSelector:@selector(registerUserNotificationSettings:)]) {

        

        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeSound |UIUserNotificationTypeAlert |UIUserNotificationTypeBadge categories:nil];

        [[UIApplication sharedApplication]registerUserNotificationSettings:settings];

        

    }else {


        //ios8.0之前

        UIRemoteNotificationType myTypes = UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound;

        [[UIApplication sharedApplication]registerForRemoteNotificationTypes:myTypes];

   

    }

#else

#endif

2.在AppDelegate中写接收通知的方法

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {

    

    NSLog(@"%@",notification.userInfo);

    //在前台就不需要小红帽提醒

    application.applicationIconBadgeNumber = 0;

    

}

3.在ViewController中:

//创建本地通知对象

UILocalNotification *localNotification =[[UILocalNotification alloc]init];

//时间上的调度。时间有两种:一种是1970年以后的秒数 一种是2000年

localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10.0];//fireDate就是激发的准确时间

 //timeZone是通知激发的时间是否根据时区的改变而改变,如果是nil,通知会在一段时间后激发,而不是在某一确定的时间被激发

    //repeatInterval被重复激发的时间差,时间差会根据日历单位,例如每周,如果不设置将不会被重复

//    localNotification.timeZone

//    localNotification.repeatInterval

//内容

localNotification.alertBody = @"心情很美丽";

//其他内容

localNotification.applicationIconBadgeNumber = 1;

localNotification.userInfo = @{@"someKey":@"someValue"};

//注册

[[UIApplication sharedApplication]scheduleLocalNotification:localNotification];

//4.写到这里发现之前明明注册了小红帽却没有出来,这时就需要在appDelegate的

didFinishLaunchingWithOptions中写上一句话:

application.applicationIconBadgeNumber = 99;




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

按键蓝牙通知(NRF51822)

  • 2017-09-20 15:55
  • 2.13MB
  • 下载

spring aop事务通知(切面异常处理)

Spring Aop切面异常日志记录,本教程使用spring aop来记录service层所报出的异常记录,这样就可以很容易的知道我们项目的异常出现在哪个service方法中了,下面是spring a...

极光发送消息通知

  • 2017-01-11 17:50
  • 245KB
  • 下载

Android N Audio: AudioTrack 向上通知的路径

在前面介绍创建AudioTrack的native实例后,会调用set,这里就在搭建进行native AudioTrack和java层进行通信的桥梁audioCallback, and...

工程变更通知模板

  • 2017-02-20 10:49
  • 49KB
  • 下载

通知系统化思维导论

  • 2016-04-18 12:34
  • 61KB
  • 下载

Android推送通知指南

3 2 在 开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的 推送通...

3.按键通知

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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