首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找出应用程序作为通知结果所处的状态?

如何找出应用程序作为通知结果所处的状态?
EN

Stack Overflow用户
提问于 2011-08-21 16:39:46
回答 2查看 114关注 0票数 1

我已经设置了一个UILocalNotification,据我所见,我有5个不同的场景:

  1. 应用程序没有运行,用户选择查看通知,因此启动应用程序。
  2. 应用程序没有运行,用户选择关闭通知,然后在稍后的日期打开应用程序。
  3. 应用程序在后台运行,用户选择查看通知,因此它将应用程序带到前台。
  4. 应用程序在后台运行,用户选择关闭通知,然后打开应用程序,在稍后的某个日期将其带到前台。
  5. 该应用程序正在前台运行。

我如何处理这5种不同的场景?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-21 17:28:43

  1. 将您的代码放入application:didFinishLaunchingWithOptions:中。在actions NSDictionary中,您将找到有关通知的信息。
  2. 如果本地通知仍然处于活动状态,您可以再次签入application:didFinishLaunchingWithOptions:,并采取适当的操作。
  3. 将您的代码放入applicationWillEnterForeground:
  4. 同样地,请检查是否有活动的本地通知。
  5. 在这里,您可以签入application:didReceiveLocalNotification:,或者通知用户或不通知用户。
票数 2
EN

Stack Overflow用户

发布于 2011-08-21 17:11:31

不太清楚你想要的是什么,但以下可能会回答你的问题。

来自文档

当系统传递本地通知时,可能会发生几件事,这取决于应用程序状态和通知类型。如果应用程序不是最正面和可见的,系统将显示警告消息、标记应用程序并播放声音--无论通知中指定的是什么。如果通知是警报,用户点击操作按钮(或者,如果设备被锁定,则拖动操作滑块),则启动应用程序。在application:didFinishLaunchingWithOptions: method中,应用程序委托可以使用UILocalNotification键从传入选项字典中获取UILocalNotification对象。委托可以检查通知的属性,如果通知在其userInfo字典中包含自定义数据,它可以访问该数据并相应地进行处理。另一方面,如果本地通知只标记应用程序图标,并且响应用户启动应用程序,则调用应用程序:didFinishLaunchingWithOptions: method,但选项字典中不包含UILocalNotification对象。 如果应用程序在系统传递通知时是最重要和可见的,则不显示警报,没有标记图标,也没有播放声音。但是,如果应用程序委托实现该应用程序:didReceiveLocalNotification:,则调用该应用程序。UILocalNotification实例被传递到此方法中,委托可以检查其属性或访问userInfo字典中的任何自定义数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7139588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档