4

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

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

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

4

2 回答 2

6

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

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

- (void)displayNotificationAlert:(NSString *)alertMessage
{
}
于 2014-04-15T11:18:51.317 回答
1

如果您不需要对推送通知本身做任何事情,只需[[PushHelper shared] processPush: userInfo]从您的代码中删除

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

didReceiveRemoteNotification 方法仅在应用程序运行时调用。

于 2013-08-30T14:24:13.090 回答