如何在iOS中接收推送通知时隐藏UIAlertView

时间:2015-06-05 03:47:37

标签: ios hide uialertview

在我的iOS应用中,我希望在UIAlertView方法中接收推送通知时隐藏didreceiveRemotenotification。  app委托的整个页面我没有为show UIAlertView 编写代码。那为什么会自动显示呢?

 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
 [PFPush handlePush:userInfo]; 
if (application.applicationState == UIApplicationStateActive) { self.noti_json=[userInfo objectForKey:@"msg"]; 
[[NSNotificationCenter defaultCenter] postNotificationName:[userInfo objectForKey:@"title"] object:self];
 } } 

先谢谢。

编辑 (为我的didReceiveRemoteNotification:添加代码):

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
   [PFPush handlePush:userInfo]; 
   if (application.applicationState == UIApplicationStateActive) 
   { 
      self.noti_json=[userInfo objectForKey:@"msg"];   
      [[NSNotificationCenter defaultCenter] postNotificationName:[userInfo objectForKey:@"title"] object:self]; 
    } 
 } 

2 个答案:

答案 0 :(得分:1)

删除第[PFPush handlePush:userInfo];

并仅在类型不是您想要避免的类型时显示您自己的警报。

UserInfo必须具有一些标识符或通知类型,以便您可以相应地处理类型特定的通知。

Handle Push

修改

或者只需使用下面的行

if(![[userInfo objectForKey:@"type"] isEqualToString:@"typeName"]){
 [PFPush handlePush:userInfo]; 
}

答案 1 :(得分:0)

如果您收到推送通知的提醒,可能是因为您的应用设置已启用提醒功能。