在我的应用程序中,我正在使用闹钟功能。它工作正常,但当我在模拟器测试时,弹出框通知了警报。在真实设备中,它只是作为状态栏中的通知而不是弹出框。
我正在寻找真实设备中的弹出框。我不确定我在这里做错了什么?
我正在使用此代码进行闹钟
[[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];
感谢您的帮助
答案 0 :(得分:1)
如果设备被锁定,通知将显示为弹出框,如果应用程序正在运行,通知将显示在状态栏中,则代码中没有任何内容。
答案 1 :(得分:1)
当触发UILocalNotification时,有3种可能性:
您的应用程序在后台运行或已关闭:您的本地通知将根据用户定义的设置显示:它可能显示为横幅,UIAlertView,或者根本不显示。
您的应用程序正在前台运行:您可以使用以下方法在AppDelegate类中接收任何本地通知:
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
设备已锁定:设备将在锁定的屏幕中显示警报(如果用户已定义,则不会显示警报)