推送通知(本地推送)

推送通知的使用细节:

1,发出推送通知时,如果程序正运行在前台,那么推送通知就不会被呈现出来。

2,点击推送通知后,默认会自动打开发出推送通知的app。

3,不管app打开还是关闭,推送通知都能如期发出。

 

本地推送通知的使用场景:

常用来定时提醒用户完成一些任务,比如清理垃圾,记账,买衣服,看电影,玩游戏。

//1,创建本地通知对象

UILocalNotification *ln = [[UILocalNotification alloc]init];

 

//2,设置通知属性

ln.soundName = @"buyao.wav"//音效文件名

ln.alertBody = @"重大新闻:XXXX";//通知内容

ln.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];//通知第一次发出的时间(5秒后发出)

ln.timeZone=[NSTimeZone defaultTimeZone];//设置时区(跟随手机的时区)

ln.applicationIconBadgeNumber = 5  //设置app图标数字

ln.repeatInterval = NSCalendarUnitMinute;//设置重复发出通知的时间间隔

ln.alertAction = @"查看新闻吧";

ln.userInfo = @{@"icon":@"test.png",@"title":@"重大新闻"}

//立即发送

[[UIApplication shareApplication]presentLocalNotificationNow:ln];

//3,调度通知(启动任务)

[[UIApplication shareApplication] scheduleLocalNotification:ln];

 

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

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

launchOptions参数通过UIApplicationLaunchOptionsLocalNotificationKey取出本地推送通知对象
 
  让app进入前台,并会调用AppDelegate的下面方法(并非重新启动app)

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

 

//从在跳到下一个控制器之前,会执行前一个控制器的方法。seque 代表那根线

-(void)prepareForSeque:(UIStoryboardSeque*)seque sender:(UILocalNotification*)note;

 

//判断在前台还是在后台;

appliciation.aplliciationState   有一个枚举里有三个属性  第一个是前台  后面是后台

 

posted @ 2015-10-19 10:42  知至  阅读(334)  评论(0编辑  收藏  举报