ios本地提示消息处理

本文介绍如何使用UILocalNotification实现iOS本地消息推送,包括设置推送时间、时区、重复间隔等属性,并展示了如何处理点击消息后的回调函数。

本地消息提示,ios使用UILocalNotification实现,下面简单举例:

    UILocalNotification *notification = [[UILocalNotification alloc]init];
    if (notification) {
        //设置推送时间
        NSDate *fireDate = [NSDate date];
        notification.fireDate = fireDate;
        //设置时区
        notification.timeZone = [NSTimeZone defaultTimeZone];
        //设置重复间隔
        //notification.repeatInterval = NSWeekCalendarUnit;
        //推送声音
        notification.soundName = UILocalNotificationDefaultSoundName;
        //内容
        notification.alertBody = @"我是分割线";
        //显示在icon上的红色圈中的数子
        notification.applicationIconBadgeNumber = 1;
        //notification.applicationIconBadgeNumber = [UIApplication sharedApplication].applicationIconBadgeNumber + 1;
        //设置userinfo 方便在之后需要撤销的时候使用
        NSMutableDictionary *dicNotificationInfo = [NSMutableDictionary dictionaryWithCapacity:0];
        [dicNotificationInfo setObject:@"111" forKey:@"111"];
        notification.userInfo = dicNotificationInfo;
        //添加推送到uiapplication
        UIApplication *app = [UIApplication sharedApplication];
        [app scheduleLocalNotification:notification];
    }

当系统到了fireDate的时间就会抛送本地消息通知,这样点击消息提示,如果程序进入后台,就会触发本地消息监听函数,在AppDelegate中实现如下函数:

#pragma mark - 本地消息通知监听
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
     // 添加程序的处理代码
     if (notification) {
        NSLog(@"didFinishLaunchingWithOptions");
        NSDictionary *userInfo = notification.userInfo;
        ......
     }
}

如果程序被结束了,就会触发

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
     // 程序正常启动所需要做的事情abc...
     // 进行消息处理
     UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
    if (notification) {
        NSDictionary *userInfo = notification.userInfo;
        ......
    }
}

以上,完成本地消息的抛送及后续的处理,欢迎拍砖。

转载于:https://my.oschina.net/sayonala/blog/294188

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值