来自终止状态的可操作通知

Posted

技术标签:

【中文标题】来自终止状态的可操作通知【英文标题】:Actionable Notification from Terminated State 【发布时间】:2017-06-27 15:34:37 【问题描述】:

我在我的应用中实现了可操作的通知,当您向下滑动通知时会出现 3 个操作。如果应用程序处于前台或后台状态,则点击操作有效,但在应用程序处于终止状态时无效。经过一番调试,我发现在后台或前台状态下,调用了didReceiveNotificationResponse方法(预期行为),但是从终止状态,它调用了didFinishLaunchingWithOptions并且launchOptions字典为nil。如何让它从终止状态调用 didReceiveNotificationResponse?

【问题讨论】:

【参考方案1】:

根据https://nrj.io/simple-interactive-notifications-in-ios-8/ 你只需要实现想要的专用方法:

application:handleActionWithIdentifier:forLocalNotification:completionHandler:
application:handleActionWithIdentifier:forRemoteNotification:completionHandler:

【讨论】:

因为启动选项为零,所以没有要处理的元数据。我需要知道用户在通知中选择了哪个操作。这可能是一个错误,因为似乎所有信息都丢失了。 哦,你的意思是你想实现- (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler 更多信息在这里nrj.io/simple-interactive-notifications-in-ios-8 如果是,我可以整合答案 这正是我想要的,谢谢!奇怪的是他们有两种不同的背景和终止状态的委托方法。 我认为问题在于他们完全改变了 iOS 10 中的 UserNotifications 框架,而我一直在关注 iOS 10 文档。您链接的教程适用于 iOS 8,它似乎有正确的答案,即使是 iOS 10。

以上是关于来自终止状态的可操作通知的主要内容,如果未能解决你的问题,请参考以下文章

推送通知操作按钮不显示 - 背景和终止状态 - React Native

我需要使用 FCM 实现静默通知

当应用程序处于终止状态而没有用户交互时如何清除本地通知。

“来自调试器的消息:由于内存问题而终止”的任何通知或观察者?

无法对推送通知自定义按钮执行操作

Android通知Notification使用全解析,看这篇就够了