弹出框警报没有出现?

时间:2012-09-03 08:51:27

标签: iphone ios ios5 ios-simulator

在我的应用程序中,我正在使用闹钟功能。它工作正常,但当我在模拟器测试时,弹出框通知了警报。在真实设备中,它只是作为状态栏中的通知而不是弹出框。

我正在寻找真实设备中的弹出框。我不确定我在这里做错了什么?

我正在使用此代码进行闹钟

[[UIApplication sharedApplication] cancelAllLocalNotifications];

UILocalNotification *localNotification = [[UILocalNotification alloc] init];

localNotification.fireDate = date;

localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.alertBody = alarmMessage;
localNotification.alertAction = NSLocalizedString(@"View", nil);
localNotification.repeatInterval = NSDayCalendarUnit;

/* Here we set notification sound and badge on the app's icon "-1"
 means that number indicator on the badge will be decreased by one
 - so there will be no badge on the icon */


NSString *ringtonename = [lblRingToneName text];
NSString *extension = @".caf";

NSString  *ringtone = [[NSString alloc]initWithFormat:@"%@%@", ringtonename, extension];

localNotification.soundName = ringtone;
localNotification.applicationIconBadgeNumber = -1;

[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];     

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

如果设备被锁定,通知将显示为弹出框,如果应用程序正在运行,通知将显示在状态栏中,则代码中没有任何内容。

答案 1 :(得分:1)

当触发UILocalNotification时,有3种可能性:

  • 您的应用程序在后台运行或已关闭:您的本地通知将根据用户定义的设置显示:它可能显示为横幅,UIAlertView,或者根本不显示。

  • 您的应用程序正在前台运行:您可以使用以下方法在AppDelegate类中接收任何本地通知:

    - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

  • 设备已锁定:设备将在锁定的屏幕中显示警报(如果用户已定义,则不会显示警报)