我在我的应用中使用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];
}
但它显示了我定义的两个警报,另一个是系统定义的。 任何帮助,将不胜感激。 修改确定..如果无法更改推送通知的标题,那么当应用在前台运行时,我们是否可以阻止推送提醒?我不想显示当我的应用程序在前台运行时?
答案 0 :(得分:0)
您只需检测您的应用是否在前台运行,如果确实如此,您就不会将通知传递给UAPush
in -application:didReceiveRemoteNotification:。