iOS 当程序处于后台运行时,点击通知栏进入app,怎么获取推送消息或者知道是否收到通知


(时光) #1

iOS 当程序处于后台运行时,这时候若收到消息推送,如果点击通知栏进入app,怎么获取推送消息或者知道是否收到通知。怎么在收到通知的时候就改变角标。

感觉 没有走

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

这个方法~


(时光) #2

有这个方法

// iOS 10 Support
- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)())completionHandler {
   
    NSDictionary * userInfo = response.notification.request.content.userInfo;
    if([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
        [JPUSHService handleRemoteNotification:userInfo];
    }
    completionHandler();  // 系统要求执行这个方法
}

#3

要走第一个方法,请看该贴,配置好且推送时加上content-available

一般的消息 iOS 10 点击了消息后走的是第二个方法。

改变角标,就在走的方法那里对应调用设置角标的方法,角标相关


(时光) #4

加上 content-available 感觉配置也没问题 怎么还是没走第一个方法


(时光) #5

我是通过 点击 通知栏进去的


#6

如果你配置正确,推送正确,app没被杀死,那么不走第一个方法是不可能的。


(时光) #7

可以了 我刚犯迷糊了