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

  • 当程序在前台的时候,大家是怎么处理远程消息的? 

- (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]; 



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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值