【问题标题】:Notifications - ios通知 - ios
【发布时间】:2012-12-28 06:00:02
【问题描述】:

我想获取与我的应用程序相关的all the notifications,该应用程序存储在 iPhone 的 notification center 中。 How can I get this?

【问题讨论】:

    标签: iphone ios notifications


    【解决方案1】:

    您可以使用[[UIApplication sharedApplication] scheduledLocalNotifications] 获取预定通知的完整列表。希望它会有所帮助。享受编码。

    【讨论】:

    • 但是我没有收到已经在通知中心的远程通知
    • 不,这是不可能的,因为推送通知由 Apple 服务器处理。据我所知这是不可能的。
    • josh 是对的:推送来自对您应用的回调,您应该注册以接收回调。您可以保存通知并稍后回读,但推送不会以这种方式存储在通知中心
    【解决方案2】:

    对于本地通知,您可以获取与该应用相关的所有通知,

    [[UIApplication sharedApplication] scheduledLocalNotifications]
    

    但对于推送通知,我认为这是不可能的,但实现此目的的另一种方法是,如果用户查看/选择推送通知,那么您应该将其存储在本地。

    【讨论】:

    • @Dev 那么除了向发送推送通知的服务器(不是 Apple 的 APN 服务器)询问已发送的任何/所有通知外,您无能为力。
    • 赞成两个答案,恕我直言,这应该被接受,因为它说明了如何处理 push
    • [[UIApplication sharedApplication] cancelAllLocalNotifications];从本地和远程通知中心删除所有通知。那为什么我们不能收到所有通知呢?
    • @Dev 如果用户关闭,您将无法对该通知执行任何操作。甚至无法处理取消事件。
    • 当我的应用程序不处于前台状态时,我收到了两个远程通知并按下关闭按钮。在通知中心我可以看到两个通知。
    【解决方案3】:

    在之前的 2 个答案中已经描述了本地和推送通知。

    notification center 中存储的其他内容可以是一个很好的例子here:

    它旨在用作 UI 元素、屏幕、背景之间的通信。但可以用于其他“几乎合法”的东西,不会绕过 Apple 代码审查:私有 API、黑客攻击等如果开始在“不是 Apple 的预期”中使用 :)

    它在通知中心,也是一个通知。

    我确定你问的不是这个,因为:

    “与我的应用相关”

    这与您应用的一个组件有关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-19
      • 2011-08-07
      • 2021-09-22
      • 2014-02-10
      • 2020-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多