-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{}
方法,在这个方法做业务逻辑处理。但是有个问题是,通知栏里面的推送并不会清除,加上以下代码就ok了
[[UIApplicationsharedApplication] setApplicationIconBadgeNumber: 0];
[[UIApplicationsharedApplication] cancelAllLocalNotifications];
2014年03月19日重写:原来push没有这么简单的,根据程序状态也是分很多情况的。
第一种情况:程序未启动(也不在后台)。点击通知栏里的消息会触发以下方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
NSDictionary* pushNotification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
如果用户点击桌面app的图标打开程序,只会触发这个方法
- (void)applicationDidBecomeActive:(UIApplication *)application
这时候是没办法得到推送的通知的。第二种情况:程序运行中(包括在后台),点击通知栏里的通知,会触发以下方法
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
可在这个方法做相应的处理。