iOS根据推送消息弹出指定界面

iOS的推送收到推送消息有三种情况

1:程序在已经退出(程序被系统杀死的时候)

2:程序在后台挂起的时候(按Home键或者下拉查看通知列表的时候)

3:程序在前台运行的时候

当程序退出的时候,点击推送消息会调用的方法是:

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

  if (launchOptions) {

     //launchOptions是推送消息的主体,打印出来可以看到后台推送过来的消息,可以根据后台的消息进行操作

      [self getRemoteNotificationWithRemoteDic:remoteNotification];

   }

}


当程序没有被系统杀死的时候,点击推送消息会调用的方法是:

//应用收到远程通知时的

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

{

   //userInfo 是推送消息的主体

   //存储后台状态下的推送消息

   //UIApplicationStateInactive----------应用程序在后台挂起

   if ([UIApplication sharedApplication].applicationState == UIApplicationStateInactive) {

      [self getRemoteNotificationWithRemoteDic:userInfo];

      

   }else if ([UIApplication sharedApplication].applicationState == UIApplicationStateActive){

      //应用程序在前台的时候

   }

}



//点击推送消息所做的处理--------模态弹出一张图片

- (void)getRemoteNotificationWithRemoteDic:(NSDictionary *)remoteDic

{

   //判断根视图有没有模态弹出的图片,如果有,先把那个模态弹出的视图给移除,再加载

   UCSRootViewController *ucsRVC = (UCSRootViewController *)[UIApplication sharedApplication].keyWindow.rootViewController;

   if (ucsRVC.presentedViewController) {

      [ucsRVC.presentedViewController dismissViewControllerAnimated:YES completion:nil];

   }

}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值