【问题标题】:Disable UrbanAirship alerts禁用 UrbanAirship 警报
【发布时间】:2013-09-03 07:37:47
【问题描述】:

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

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

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

【问题讨论】:

    标签: iphone urbanairship.com


    【解决方案1】:

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

    {   
       ...
       [[UAPush shared] registerForRemoteNotifications];
       [UAPush shared].pushNotificationDelegate = self;
       ...
    }
    
    - (void)displayNotificationAlert:(NSString *)alertMessage
    {
    }
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 真棒))当应用程序从通知中心录制消息后从后台返回时,我该如何处理通知?
      • 需要在 didFinishLaunchingWithOption 方法中处理。通知负载将在选项字典中
      猜你喜欢
      • 2018-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多