我现在收到后台发送过来的推送消息 程序还在运行 只是在后台 通知栏收到消息 但是点击通知栏中得消息无法触发didReceiveRemoteNotification 因为我要根据用户点击哪个推送消息做具体的操作 这是为什么 求解答啊
我现在收到后台发送过来的推送消息 程序还在运行 只是在后台 通知栏收到消息 但是点击通知栏中得消息无法触发didReceiveRemoteNotification 因为我要根据用户点击哪个推送消息做具体的操作 这是为什么 求解答啊
点击通知启动app的时候,是不走那个方法的。
而是会在AppDelegate
里的 application:didFinishLaunchingWithOptions:
方法中的launchOptions
参数里体现。
NSDictionary *dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
这样取出来的dictionary
就是你想要的userInfo
了。
我这边测试
IOS10 background mode 中的 remote notification 已勾选
app没启动状态,点击通知启动app的时候
调用- (void)application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo方法
但是不调用- (void)application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler方法
2 回答1k 阅读
1 回答1.1k 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.5k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答1.1k 阅读
程序在后台运行,点击远程通知才会调用didReceiveRemoteNotification这个方法,如果点击通知栏收到的消息进入前台并没有调用改该方法,那么这个通知可能是本地通知,试试didReceiveLocalNotification。