objective-c - ios 点击通知栏并没有触发didReceiveRemoteNotification
PHP中文网
PHP中文网 2017-04-17 16:19:59
[iOS讨论组]

我现在收到后台发送过来的推送消息 程序还在运行 只是在后台 通知栏收到消息 但是点击通知栏中得消息无法触发didReceiveRemoteNotification 因为我要根据用户点击哪个推送消息做具体的操作 这是为什么 求解答啊

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
怪我咯

程序在后台运行,点击远程通知才会调用didReceiveRemoteNotification这个方法,如果点击通知栏收到的消息进入前台并没有调用改该方法,那么这个通知可能是本地通知,试试didReceiveLocalNotification。

PHP中文网

点击通知启动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方法

PHP中文网

在stackoverflow上找到了答案:http://stackoverflow.com/ques...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号