您的位置:首页 > Web前端

同问 当程序运行在前台的时候,处理推送消息 ?

2014-03-14 14:59 375 查看
当程序在前台的时候,大家是怎么处理远程消息的? 


- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 



if (application.applicationState == UIApplicationStateActive) { 

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

if (notification!=nil) { 

NSDate *date = [NSDate dateWithTimeIntervalSinceNow:10]; 

notification.fireDate=date ; 

notification.timeZone=[NSTimeZone defaultTimeZone]; 

notification.alertBody= [[userInfo objectForKey:@"aps"] objectForKey:@"alert"]; 

notification.soundName = UILocalNotificationDefaultSoundName; 

notification.userInfo = userInfo; 

[[UIApplication sharedApplication] scheduleLocalNotification:notification]; 

[self playSound]; 



} else { 

NSInteger badge = [UIApplication sharedApplication].applicationIconBadgeNumber; 

if(badge > 0) 



badge--; 

[UIApplication sharedApplication].applicationIconBadgeNumber = badge; 



// [UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

[self readInfoNetwork:[userInfo objectForKey:@"bId"]]; 

[self readUserInfo:userInfo]; 





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



if (application.applicationState != UIApplicationStateActive) { 

NSDictionary *userInfo = notification.userInfo; 

NSInteger badge = [UIApplication sharedApplication].applicationIconBadgeNumber; 

if(badge > 0) 



badge--; 

[UIApplication sharedApplication].applicationIconBadgeNumber = badge; 



// [UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

[self readInfoNetwork:[userInfo objectForKey:@"bId"]]; 

[self readUserInfo:userInfo]; 

[application cancelLocalNotification:notification]; 





我这样写还是不会有横幅出来,而且在读取本地的逻辑也有问题

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS推送 前端控制
相关文章推荐