iOS如何对本地通知进行处理(当没有打开APP时怎么处理收到的通知)

当你收到通知时,有两种状态。
1、程序在活跃状态,或者是后台。
这时候当你收到通知,就会走下面两个方法:

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

    if (application.applicationState == UIApplicationStateActive) {
        [JPUSHService setBadge:0];
    }
    //对收到的信息 进行 符合自己业务的 操作
    [self _operateLocalNotificationByUserInfo:userInfo];

}
//iOS 7 Remote Notification
- (void)application:(UIApplication *)application didReceiveRemoteNotification:  (NSDictionary *)userInfo fetchCompletionHandler:(void (^)   (UIBackgroundFetchResult))completionHandler {

     if (application.applicationState == UIApplicationStateActive) {

         [JPUSHService setBadge:0];
     }

        //对收到的信息 进行 符合自己业务的 操作
    [self _operateLocalNotificationByUserInfo:userInfo];

}

2、当你的APP已经被杀死了。
这时候来了通知,你点击通知栏或者APP图标进入程序的话,上面的两个方法显然就不走了啊。但是他一定会走这个方法:

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

这里的launchOptions 显然是个字典。而有对应的KEY,通过apple提供的这个KEY,能取到通知的内容。再做对应的操作就好了:

//判断是否有通知
    UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

    if (notification != nil) {
        NSDictionary *userInfo = notification.userInfo;

        if (application.applicationState == UIApplicationStateActive) {
            [JPUSHService setBadge:0];
        }
        //这里是我的业务,与此问题没关系,您需要 根据您自己的业务
        [self _operateLocalNotificationByUserInfo:userInfo];

    }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值