【发布时间】:2014-12-22 01:40:02
【问题描述】:
我的应用中的行为推送通知存在一些问题。
如果应用程序没有运行(甚至不在后台),当我触摸通知时,我可以通过阅读“launchOptions”字典来解析其有效负载并执行自定义操作。
当我的应用程序在后台运行时,我无法通过点击通知来检测用户何时将应用程序置于前台,因为 application:didReceiveRemoteNotification:fetchCompletionHandler: 会在后台立即调用,而当我将应用程序置于前台时我无法通过点击应用图标或通知来检查它是否已完成。
我知道这是可能的,因为 Facebook 的 Messenger 应用程序会这样做 - 如果我点击通知,它会将我带到聊天室,否则它会将我带到我之前的位置。
谢谢。
【问题讨论】:
-
有点笨拙,但为什么不直接使用
NSUserDefaults并设置一个密钥? -
我只希望在用户使用通知打开应用程序时发生操作 - 而不是点击图标。 FB Messenger 是这样做的……所以这是可能的。
-
是的,我在
-application:didReceiveRemoteNotification:fetchCompletionHandler:中说,只需设置一个布尔值并在应用返回前台时检查它。 -
仍然无法满足我的需要。如果用户点击应用程序图标而不是通知本身,我不希望发生推送操作。
标签: ios cocoa-touch ios8 apple-push-notifications