来自终止状态的可操作通知
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