扫码关注官方订阅号
我现在收到后台发送过来的推送消息 程序还在运行 只是在后台 通知栏收到消息 但是点击通知栏中得消息无法触发didReceiveRemoteNotification 因为我要根据用户点击哪个推送消息做具体的操作 这是为什么 求解答啊
认证高级PHP讲师
程序在后台运行,点击远程通知才会调用didReceiveRemoteNotification这个方法,如果点击通知栏收到的消息进入前台并没有调用改该方法,那么这个通知可能是本地通知,试试didReceiveLocalNotification。
点击通知启动app的时候,是不走那个方法的。
而是会在AppDelegate里的 application:didFinishLaunchingWithOptions:方法中的launchOptions参数里体现。
AppDelegate
application:didFinishLaunchingWithOptions:
launchOptions
NSDictionary *dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
这样取出来的dictionary就是你想要的userInfo了。
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方法
在stackoverflow上找到了答案:http://stackoverflow.com/ques...
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
程序在后台运行,点击远程通知才会调用didReceiveRemoteNotification这个方法,如果点击通知栏收到的消息进入前台并没有调用改该方法,那么这个通知可能是本地通知,试试didReceiveLocalNotification。
点击通知启动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方法
在stackoverflow上找到了答案:http://stackoverflow.com/ques...