【问题标题】:Handling push notifications when app is not running (App is Killed)在应用程序未运行时处理推送通知(应用程序被杀死)
【发布时间】:2014-11-13 08:59:32
【问题描述】:

我的问题似乎与this one 重复,但事实并非如此。当应用程序被杀死并且没有在后台运行时,如果我收到推送通知并单击通知横幅,它工作正常。 “userInfo”不为空,应用程序处理通知。 但是如果我关闭通知横幅并通过单击应用程序图标打开应用程序,则此“userInfo”返回 nil。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions {
    NSDictionary* userInfo = [launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if(userInfo != nil){
        //Handling notification

    }
}

还有

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{
    if([application applicationState] == UIApplicationStateActive)    {
         NSLog(@"...1");
    
    }else if([application applicationState] == UIApplicationStateInactive){
         NSLog(@"...2");
    
    }else if([application applicationState] == UIApplicationStateBackground){
         NSLog(@"...2");

    }
    completionHandler(UIBackgroundFetchResultNoData);
}

有没有办法处理这些通知,还是我应该自己处理?

【问题讨论】:

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


    【解决方案1】:

    没有,您的应用只会收到用于打开/启动您的应用的通知。

    无法检测到您的应用的通知中心是否有任何通知。您需要自己在您的应用服务器中构建它。

    【讨论】:

    • 应该说推送通知在发出的时候可以调用自定义的URL schema。因此,当您配置推送通知时,您可以有不同的架构结尾,然后应用程序可以使用这些架构来执行不同的功能。 @onurvarrrr
    • @Dan 这是真的,但只有在用户打开推送通知或静默推送(获取)通知时才会调用 URL。
    猜你喜欢
    • 2016-11-25
    • 2018-12-20
    • 2017-06-07
    • 2015-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多