0

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

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

我正在将此代码用于我的警报

[[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];     

谢谢你们的帮助

4

2 回答 2

1

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

于 2012-09-03T08:56:49.867 回答
1

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

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

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

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

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

于 2012-09-03T09:02:38.773 回答