iOS本地通知

本地通知 不需要联网就可以发送出来的推送通知。


iOS8之后要在didFinishLaunchingWithOptions写判断方法

if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)])
    {
        UIUserNotificationType type = UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound;
        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:type categories:nil];
        [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
    }


创建本地 推送 通知对象

UILocalNotification *local = [[UILocalNotificationalloc]init];

设置本地 推送 通知属性
推送 通知的触发时间(何时发出 推送 通知)

@property(nonatomic,copy)NSDate *fireDate;

推送 通知的具体内容

@property(nonatomic,copy)NSString *alertBody;

锁屏界面显示的小标题(完整小标题:“滑动来” + alertAction

@property(nonatomic,copy)NSString *alertAction;

音效文件名

@property(nonatomic,copy)NSString *soundName;

app 图标数字

@property(nonatomic)NSInteger applicationIconBadgeNumber;

调度本地 推送 通知(调度完毕后, 推送 通知会在特地时间fireDate 发出)

[[UIApplication sharedApplication] scheduleLocalNotification:ln];

获得被调度的所有本地 推送 通知 ( 等待发出的通知 )

@property(nonatomic,copy)NSArray *scheduledLocalNotifications;

(已经发出且过期的推送通知就算调度结束,会自动从这个数组中移除)

取消调度本地 推送 通知

- (void)cancelLocalNotification:(UILocalNotification*)notification;

- (void)cancelAllLocalNotifications;

立即发出本地 推送 通知 ( 使用价值: app 在后台运行的时候 )

- (void)presentLocalNotificationNow:(UILocalNotification*)notification;

每隔多久重复发一次推送通知

@property(nonatomic)NSCalendarUnit repeatInterval;

点击 推送 通知打开 app 时显示的启动图片

@property(nonatomic,copy)NSString *alertLaunchImage;

附加的额外信息

@property(nonatomic,copy)NSDictionary *userInfo;

时区

@property(nonatomic,copy)NSTimeZone *timeZone;

(一般设置为[NSTimeZonedefaultTimeZone] ,跟随手机的时区)


当用户点击本地推送通知,会自动打开 app ,这里有 2 种情况
app 并没有关闭,一直隐藏在后台
通知发出,执行通知时( 并非重新启动 app

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

    /**
     *  
     UIApplicationStateActive,
     UIApplicationStateInactive,
     UIApplicationStateBackground
     
     Active:当前应用正在前台运行,并且接收事件。这是应用正在前台运行时所处的正常状态。
     
     Inactive:当前应用正在前台运行,但是并不接收事件(当前或许正在执行其它代码)。一般每当应用要从一个状态切换到另一个不同的状态时,中途过渡会短暂停留在此状态。唯一在此状态停留时间比较长的情况是:当用户锁屏时,或者系统提示用户去响应某些(诸如电话来电、有未读短信等)事件的时候。
     
     Background:应用处在后台,并且还在执行代码。大多数将要进入Suspended状态的应用,会先短暂进入此状态。然而,对于请求需要额外的执行时间的应用,会在此状态保持更长一段时间。另外,如果一个应用要求启动时直接进入后台运行,这样的应用会直接从Not running状态进入Background状态,中途不会经过Inactive状态。比如没有界面的应用。注此处并不特指没有界面的应用,其实也可以是有界面的应用,只是如果要直接进入background状态的话,该应用界面不会被显示。
     */
    
    if (application.applicationState==UIApplicationStateActive) {//当通知处于前台时候 不做操作
        return;
    }
    
    NSLog(@"didReceiveLocalNotification---%@",notification);
}



app 已经被关闭(进程已死)
启动 app ,启动完毕会调用 AppDelegate 的下面方法

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

launchOptions 参数通过 UIApplicationLaunchOptionsLocalNotificationKey 取出本地推送通知对象

//创建本地通知

//1.创建本地推送通知
    UILocalNotification *local = [[UILocalNotification alloc]init];
    
    //2.设置声音
    local.soundName = @"buyao.wav";
    local.alertBody = @"重大新闻";
    local.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
    
    //3.设置图标的数字
    local.applicationIconBadgeNumber = 5;
    //根据手机默认的时区
    local.timeZone = [NSTimeZone defaultTimeZone];
    
    //4.设置重复发出通知的时间间隔
    //local.repeatInterval = NSCalendarUnitDay;
    
    //锁屏界面显示的小标题
    local.alertAction = @"查看新闻吧";
    
    //5.启动通知(在规定的时间启动任务)
    [[UIApplication sharedApplication] scheduleLocalNotification:local];
    
    //直接启动通知(使用价值:app在后台运行时候)
    //[[UIApplication sharedApplication] presentLocalNotificationNow:local];


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值