【问题标题】:iOS - change a view's content on push notification received eventiOS - 在收到推送通知事件时更改视图的内容
【发布时间】:2013-08-21 18:00:32
【问题描述】:

我来自 Android 开发背景。在 Android 中,您发送一个推送通知,然后您使用服务处理其余的事情(创建实际的系统通知、修改应用程序的内容等)。

据我所知,在发送 iOS 推送通知时,它会根据您的消息负载在通知中心自动为您创建系统通知。在这里和谷歌上搜索后,我想我必须使用 application:didReceiveRemoteNotification 事件来添加/删除视图的内容。如何访问推送通知的内容,以便我也可以将其放入应用程序中(即使用户在通知中心关闭了通知,我也想在应用程序中显示消息)?稍后(通常是同一天)会有另一条消息从应用程序中删除。

我知道如果应用程序关闭,将不会调用 application:didReceiveRemoteNotification 方法,因此我将不得不使用其他一些事件(如 didfinishlaunching)来获取消息。但是如何访问推送通知的消息本身呢?

【问题讨论】:

标签: ios objective-c notifications push-notification apple-push-notifications


【解决方案1】:

即使用户在通知中心关闭了通知,我也想在应用中显示消息

这是不可能的。仅当用户从通知中心打开应用程序时,iOS 才会将通知数据传递给您的应用程序。如果用户关闭通知并稍后启动应用程序,则应用程序获取此数据的唯一方法是从您的服务器检索。

应用从通知中心启动时获取通知数据见this question

【讨论】:

  • 如果我将数据保存到设备上的文件并在打开时检索它会怎样?我想它会起作用吗?我只是不想一直检查服务器以尽量减少带宽使用。
  • 还是保存到sql数据库?
  • @yash 从 iOS6 开始,如果您关闭通知,您将无法获取通知数据。您编写的任何代码(用于保存数据)只会在用户打开应用程序后执行 - 无论是从通知中心还是从主屏幕的启动图标。只有在前一种情况下,通知数据才会传递给您的代码。
猜你喜欢
  • 1970-01-01
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 2014-01-12
  • 1970-01-01
  • 2017-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多