禁用UrbanAirship警报

时间:2013-08-30 14:19:40

标签: iphone urbanairship.com

我希望在应用处于活动状态时忽略推送通知。我正在处理如下通知:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{ 
    if (application.applicationState != UIApplicationStateActive)
    {
        [[PushHelper shared] processPush: userInfo];
    }
}

但是当应用程序处于活动状态且设备收到推送通知时,会显示带有通知消息的UIAlertView。如何禁用UA的默认处理?

2 个答案:

答案 0 :(得分:6)

我遇到了同样的问题并找到了解决方案。 例如,如果使用 empty 正文定义 UAPushNotificationDelegate 协议的委托方法 displayNotificationAlert:,则不会显示自动警报:

{   
   ...
   [[UAPush shared] registerForRemoteNotifications];
   [UAPush shared].pushNotificationDelegate = self;
   ...
}

- (void)displayNotificationAlert:(NSString *)alertMessage
{
}

答案 1 :(得分:1)

如果您不需要对推送通知本身执行任何操作,只需从代码中删除[[PushHelper shared] processPush: userInfo]

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{ 
   //nothing to do here
}

只有在应用程序运行时才会调用didReceiveRemoteNotification方法。