iOS如何在应用程序在前台运行时更改推送通知标题?

时间:2014-06-24 06:57:10

标签: ios objective-c apple-push-notifications urbanairship.com

我在我的应用中使用Urban Airship接收推送通知,所有工作都按预期进行。 问题是,当我的应用程序在前台运行并且收到推送时,它会显示通知作为标题以及有效负载中的信息。但我想将标题显示为 Notis 而不是< strong>通知我试过这个 -

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {

    if ( application.applicationState == UIApplicationStateActive )
    {
        NSDictionary* aps = [userInfo valueForKey:@"aps"];
        UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Notis" message:[aps valueForKey:@"alert"] delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alert show];

    }
    else
    {
         UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
        tabBarController.selectedIndex=2;
     [self loadStatisticsInBackground];
       [[UAPush shared] handleNotification:userInfo applicationState:application.applicationState];
    }

    [[UAPush shared] resetBadge];
}

但它显示了我定义的两个警报,另一个是系统定义的。 任何帮助,将不胜感激。 修改确定..如果无法更改推送通知的标题,那么当应用在前台运行时,我们是否可以阻止推送提醒?我不想显示当我的应用程序在前台运行时?

1 个答案:

答案 0 :(得分:0)

您只需检测您的应用是否在前台运行,如果确实如此,您就不会将通知传递给UAPush in -application:didReceiveRemoteNotification:。