推送通知(本地推送)

推送通知的使用细节:app

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

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

3,无论app打开仍是关闭,推送通知都能如期发出。进程

 

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

经常使用来定时提醒用户完成一些任务,好比清理垃圾,记帐,买衣服,看电影,玩游戏。开发

//1,建立本地通知对象it

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

 

//2,设置通知属性test

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   有一个枚举里有三个属性  第一个是前台  后面是后台

相关文章
相关标签/搜索