iOS push的问题

做推送的时候,通过点击通知栏进入app后,会调用

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

方法,在这个方法做业务逻辑处理。但是有个问题是,通知栏里面的推送并不会清除,加上以下代码就ok了

 

 

    [[UIApplicationsharedApplication] setApplicationIconBadgeNumber: 0];

    

    [[UIApplicationsharedApplication] cancelAllLocalNotifications];

 

 

转载:http://blog.csdn.net/yesjava/article/details/21100991

2014年03月19日重写:原来push没有这么简单的,根据程序状态也是分很多情况的。

第一种情况:程序未启动(也不在后台)。点击通知栏里的消息会触发以下方法

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

可在这个方法里处理通知,代码如下:

 NSDictionary* pushNotification = [launchOptionsobjectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];

如果用户点击桌面app的图标打开程序,只会触发这个方法

 

- (void)applicationDidBecomeActive:(UIApplication *)application

这时候是没办法得到推送的通知的。

第二种情况:程序运行中(包括在后台),点击通知栏里的通知,会触发以下方法

 

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

可在这个方法做相应的处理。

posted on 2014-08-27 14:35  鬼手渔翁  阅读(124)  评论(0)    收藏  举报

导航