1、增加一个本地推送
//设置20秒之后 

NSDate *date = [NSDate dateWithTimeIntervalSinceNow:];

    //chuagjian一个本地推送

    UILocalNotification *noti = [[[UILocalNotification alloc] init] autorelease];

    if (noti) {

        //设置推送时间

        noti.fireDate = date;

        //设置时区

        noti.timeZone = [NSTimeZone defaultTimeZone];

        //设置重复间隔

        noti.repeatInterval = NSWeekCalendarUnit;

        //推送声音

        noti.soundName = UILocalNotificationDefaultSoundName;

        //内容

        noti.alertBody = @"推送内容";

        //显示在icon上的红色圈中的数子

        noti.applicationIconBadgeNumber = ;

        //设置userinfo 方便在之后需要撤销的时候使用

        NSDictionary *infoDic = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"];

        noti.userInfo = infoDic;

        //添加推送到uiapplication        

        UIApplication *app = [UIApplication sharedApplication];

        [app scheduleLocalNotification:noti];  

    }

2、程序运行时接收到本地推送消息

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

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"接收到本地提醒 in app"

message:notification.alertBody

   delegate:nil

  cancelButtonTitle:@"确定"

  otherButtonTitles:nil];

[alert show];

//这里,你就可以通过notification的useinfo,干一些你想做的事情了

application.applicationIconBadgeNumber -= ;

}

3、取消一个本地推送

UIApplication *app = [UIApplication sharedApplication];

    //获取本地推送数组

    NSArray *localArr = [app scheduledLocalNotifications];

    //声明本地通知对象

    UILocalNotification *localNoti;

    if (localArr) {

        for (UILocalNotification *noti in localArr) {

            NSDictionary *dict = noti.userInfo;

            if (dict) {

                NSString *inKey = [dict objectForKey:@"key"];

                if ([inKey isEqualToString:key]) {

                    if (localNoti){

                        [localNoti release];

                        localNoti = nil;

                    }

                    localNoti = [noti retain];

                    break;

                }

            }

        }

        //判断是否找到已经存在的相同key的推送

        if (!localNoti) {

            //不存在 初始化

            localNoti = [[UILocalNotification alloc] init];

        }

        if (localNoti && !state) {

            //不推送 取消推送

            [app cancelLocalNotification:localNoti];

            [localNoti release];

            return;

        }

}

最新文章

  1. Python学习记录day4
  2. Java8-Function使用及Groovy闭包的代码示例
  3. ASP.NET MVC 学习之路由(URL Routing)
  4. AC日记——字符串判等 openjudge 1.7 17
  5. log4j总结
  6. C# .net 最大HTTP连接数
  7. js添加创建节点和合并节点
  8. 忘记commit的一次教训
  9. word2vec的艰难成长史
  10. [Redux] Extracting Presentational Components -- AddTodo
  11. Android进程
  12. 基于Visual C++2013拆解世界五百强面试题--题18-程序结果分析2-终结篇
  13. java用户界面—创建一个面板
  14. Ext:ComboBox实战
  15. js如何获取客户端IP
  16. 【设计模式系列】之OO面向对象设计七大原则
  17. TCP/IP协议三次握手与四次握手流程解析(转)
  18. BZOJ-7-2655: calc-DP-拉格朗日插值
  19. [Machine Learning] some concept about the CV
  20. 转发:C#操作SQL Server数据库

热门文章

  1. [转]MS SQL Server 数据库连接字符串详解
  2. strace命令用法详解
  3. hdfs平衡分布
  4. sed实现文件自我复制
  5. 根据城市表生成json数据
  6. 从Java开发者的视角解释JavaScript
  7. JavaScript实现继承的混合方式
  8. Qt学习 之 QWebView
  9. Everything:速度最快的文件名搜索工具(Linux版本) 转
  10. C++ 指针二维数组, C++二维指针数组笔记