iOS本地推送实现备忘录闹铃提醒

本地通知是基于时间行为的一种通知形式,例如闹钟定时、待办事项提醒,又或者一个应用在一段时候后不使用通常会提示用户使用此应用等都是本地通知。创建一个本地通知通常分为以下几个步骤:

创建UILocalNotification。
设置处理通知的时间fireDate。
配置通知的内容:通知主体、通知声音、图标数字等。
配置通知传递的自定义数据参数userInfo(这一步可选)。
调用通知:1)scheduleLocalNotification:按计划调度一个通知,
2)presentLocalNotificationNow立即调用通知。

通过本地通知创建一个具体的时间提醒具体流程如下:
这里写图片描述

注册通知的逻辑如下:
//如果已经获得发送通知的授权则创建本地通知,否则请求授权(注意:如果不请求授权在设置中是没有对应的通知设置项的,也就是说如果从来没有发送过请求,即使通过设置也打不开消息允许设置)
if ([[UIApplication sharedApplication]currentUserNotificationSettings].types!=UIUserNotificationTypeNone) {
}else{
[[UIApplication sharedApplication]registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil]];
}

2.创建本地通知,当用户编写完备忘录成功后就需要创建一个通知
这里写图片描述

3.在预定时间内,通知的提示情况有两种
1)用户退出程序
2)程序停留在后台
所以针对程序在前台,需要我们自己进行弹框提示

一般,前面两种一般通知我们都会通过以下方式提示
这里写图片描述

这里写图片描述

这种一般点击需要跳转到应用内。那么两者处理的地方有所不同
前者在
- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions
后者在(
void)application:(UIApplication )application didReceiveLocalNotification:(UILocalNotification )notification方法里进行处理

当通知时应用处于前台时一般提示如下
这里写图片描述

同样这种处理需要在接收到通知的方法里,这种弹框一般会需要添加提示音和震动效果具体实现如下
这里写图片描述

此外处理小红点的方法
这里写图片描述

最后注意:
1.通知的声音是由iOS系统播放的,格式必须是Linear PCM、MA4(IMA/ADPCM)、µLaw、aLaw中的一种,并且播放时间必须在30s内,否则将被系统声音替换,同时自定义声音文件必须放到main boundle中。

2.本地通知的数量是有限制的,最近的本地通知最多只能有64个,超过这个数量将被系统忽略。

3.如果想要移除本地通知可以调用UIApplication的cancelLocalNotification:或cancelAllLocalNotifications移除指定通知或所有通知。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值