Ios Web服务结果的触发通知。
我的要求是在iPad中弹出通知消息,这是我从web服务获得的消息。我在一定的时间间隔后调用web服务,并且只有当需要通知用户时,才需要显示通知。 我的代码不起作用,我想要像弹出窗口一样。我的代码如下:Ios Web服务结果的触发通知。,ios,objective-c,ipad,Ios,Objective C,Ipad,我的要求是在iPad中弹出通知消息,这是我从web服务获得的消息。我在一定的时间间隔后调用web服务,并且只有当需要通知用户时,才需要显示通知。 我的代码不起作用,我想要像弹出窗口一样。我的代码如下: - (void)scheduleNotificationWithInterval:(NSString *)Notificationmsg { [[UIApplication sharedApplication] cancelAllLocalNotifications];
- (void)scheduleNotificationWithInterval:(NSString *)Notificationmsg
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
if (localNotification == nil)
return;
localNotification.fireDate = [NSDate date];
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.alertBody = @"MyApp!";
localNotification.repeatInterval = nil;
localNotification.alertBody = [NSString stringWithFormat:NSLocalizedString(Notificationmsg, nil)];
localNotification.alertAction = NSLocalizedString(@"View Details", nil);
localNotification.applicationIconBadgeNumber = 1;
/*
NSDictionary *infoDict = [NSDictionary dictionaryWithObjectsAndKeys:@"Object 1", @"Key 1", @"Object 2", @"Key 2", nil];
localNotification.userInfo = infoDict;*/
[[UIApplication sharedApplication] presentLocalNotificationNow:localNotification];
}
请帮帮我。试试这个:
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{
// I recieved a notification
}
将此方法放入Appdelegate类。当您的fire localnotification和应用程序处于打开活动状态时,它将调用此方法,如果应用程序处于后台模式,它将显示通知,即您为应用程序设置的样式
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
UIApplicationState state = [application applicationState];
if (state == UIApplicationStateActive)
{
NSLog(@"lcoal:%@",[notification userInfo]);
UIAlertView *al=[[UIAlertView alloc]initWithTitle:@"Challenge gehaald!" message:@"Gefeliciteerd, je hebt deze bonus challenge succesvol afgerond." delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil];
[al show];
}
}
如果您的应用程序未在foreground中运行,则将显示本地通知我的客户端要求是我必须调用web服务,这将返回我要显示的通知消息,因此这将仅在前台模式下发生,而不是我需要启动弹出式通知。我不想浪费时间什么的。。仅当web服务返回消息时,我必须向用户发送通知…以弹出方式。