【问题标题】:get data from push notification when app is closed in iOS and app not running in background当应用程序在 iOS 中关闭且应用程序未在后台运行时从推送通知中获取数据
【发布时间】:2014-12-12 16:02:24
【问题描述】:

当收到推送通知并且我的应用程序完全关闭时,如何处理此信息?

在这个方法didFinishLaunchingWithOptions:

上只能从NSDictionary获取数据

didReceiveRemoteNotification:

例如:当用户打开应用程序时如何从推送通知中获取数据?而不是当用户直接打开推送通知时。

是否有方法可以响应并检测通知是否未被读取?

【问题讨论】:

    标签: ios objective-c push-notification


    【解决方案1】:

    你会想要实现

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler
    

    如果需要,这将启动您的应用程序,然后您需要将数据保存在某处,以便当用户下一次启动应用程序时,您可以获取数据并对其进行处理。

    From Apples Doc's:

    讨论

    使用此方法为您的应用处理传入的远程通知。 与 application:didReceiveRemoteNotification: 方法不同,它是 仅当您的应用程序在前台运行时调用,系统 当您的应用程序在前台运行时调用此方法或 背景。此外,如果您启用了远程通知 后台模式,系统启动您的应用程序(或从 暂停状态)并在推送时将其置于后台状态 通知到达。但是系统不会自动 如果用户强制退出它,则启动您的应用程序。在这种情况下, 用户必须在系统之前重新启动您的应用程序或重新启动设备 尝试再次自动启动您的应用。

    只要看看方法,我相信你会弄明白的:)

    我快速谷歌了一下,这些看起来会有所帮助:

    例如:didReceiveRemoteNotification: fetchCompletionHandler: open from icon vs push notification

    我在上面看到的第一个教程:http://hayageek.com/ios-background-fetch/

    【讨论】:

    • 我有一个简单的问题。如果我从多任务屏幕关闭应用程序,我仍然能够收到通知吗?因为就我而言,关闭应用程序时似乎收不到通知。
    • @BooRanger 非常感谢您的回答!!!!!!爱你(虽然不合适)
    • @BooRanger 谢谢,我花了很多时间寻找这个
    猜你喜欢
    • 2018-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    相关资源
    最近更新 更多