【问题标题】:iOS: Start processing of Push notification in background?iOS:开始在后台处理推送通知?
【发布时间】:2011-12-12 00:52:29
【问题描述】:

当接收方应用程序尚未运行时,处理到达的推送通知的正常方法是什么?当应用程序启动时,我的印象是,我可以检测到它是因为推送通知到达而启动的,然后在后台开始下载,而无需启动 GUI。但是,如果用户在下载发生时启动应用程序,人们通常会怎么做?只是显示警告或什么?谢谢。

【问题讨论】:

    标签: ios ipad background push-notification


    【解决方案1】:

    我觉得我可以启动应用程序

    这是一个糟糕的词选择。 什么都做不了。用户可能会在收到推送通知后决定打开您的应用。

    检测到它已启动,因为推送通知到达

    是的。应用程序委托中的 application:didFinishLaunchingWithOptions 将传入包含推送通知数据的字典(在这种情况下,示例代码是本地通知):

    if ([UILocalNotification class]) // check if we support local notifications
        {
            UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
    
            if (notification) {
                NSString *resourcePath = [notification.userInfo objectForKey:@"resourcePath"]; // get arbitrary data that you stored in the notification (key-value pairs)
            }
    
            application.applicationIconBadgeNumber = 0; // reset the app icon badge number
        }
    

    在后台运行而无需启动 GUI

    你不能那样做。应用启动唯一可能的工作流程是通知->用户点击阅读更多按钮->应用在前台打开。

    如果用户在下载过程中启动应用程序,人们通常会怎么做?只是显示一个警告之类的?

    这个问题实际上并不适用,因为应用程序无法在后台启动,但一般来说,如果您的应用程序在幕后做某事,用户不应该关心会发生什么。因此,除非应用程序需要数据才能运行,否则不应有任何形式的警告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多