文档章节

ios本地提示消息处理

小春0618
 小春0618
发布于 2014/07/23 16:45
字数 328
阅读 407
收藏 0

本地消息提示,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;
        ......
    }
}

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

© 著作权归作者所有

小春0618
粉丝 8
博文 40
码字总数 10552
作品 0
海淀
程序员
私信 提问
加载中

评论(0)

IOS 内置URL schemes简介

在IOS的应用中经常会看到一些应用程序通过某个点击动作而直接跳到App Store页面,开始很奇怪这种第三方应用于IOS的系统应用交互时怎么实现的。后来发现苹果的开发者文档中关于这种通信的实现...

big军
2013/03/16
8.9K
2
iOS实现本地通知(local notification)的简单示例

本地通知,local notification,用于基于时间行为的通知,比如有关日历或者todo列表的小应用。另外,应用如果在后台执行,iOS允许它在受限的时间内运行,它也会发现本地通知有用。比如,一个...

木木情深
2014/02/27
211
0
《小印记》iOS源码分享--极光推送实践篇

笔者这几天刚完成《小印记》的推送功能,今天特分享一下在做的过程中实际解决的问题。如果读者学到了有用的东西,希望能前往App Store下载《小印记》支持一下笔者,谢谢! 《小印记》iOS源码...

_子墨
2017/03/21
152
2
Java转iOS-第一个项目总结(1)

0.前言 本人14年12月份,从网站开发组转到了移动开发组,自己的java两年半工作经验变成了objective-c零经验。2015年1月份新启动了一个移动项目,年后因为人事变动,自己从辅助开发变成了"核心...

蛙牛
2015/03/31
1.3W
67
react native之ios打包ipa

http://www.cocoachina.com/ios/20170511/19250.html http://reactnative.cn/post/3600 第一步:导出js bundle包和图片资源 先进入项目根目录release_ios文件夹 参数: --entry-file :ios或......

Chason-洪
2017/11/25
25
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 如何以 Web 应用的方式启动

在 Spring Boot 启动的时候,在进程完成后会自动退出。 如何让 Spring Boot 以 Web 方式启动,并且进程不退出呢? 需要确定下 Web 的这个依赖是否在你的依赖中。 <dependency> ...

honeymoose
6分钟前
4
0
leetcode892(三维形体的表面积)--C语言实现

求: 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 示例 1: 输入:[[2]] 输出:...

拓拔北海
11分钟前
28
0
使用* args和** kwargs [重复] - Use of *args and **kwargs [duplicate]

问题: This question already has answers here : 这个问题已经在这里有了答案 : What does ** (double star/asterisk) and * (star/asterisk) do for parameters? **(双星号/星号)和*(......

技术盛宴
17分钟前
18
0
spring-boot之@ConfigurationProperties的使用

@ConfigurationProperties是什么? Using the @Value("${property}") annotation to inject configuration properties can sometimes be cumbersome, especially if you are working with mu......

书中迷梦
18分钟前
29
0
让你快速掌握_正则表达式_的技巧(二)

经过上篇的快速入门了正则表达式,今天就带你快速掌握正则表达式的技巧, 话不多说,直接上干货! 正则表达式-附录【重点】 一. 规则 规则:. 含义:代表的是某一位,可以是任何字符 例如:匹配规...

煌sir
20分钟前
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部