我尝试在我的主要课程中执行以下代码( ViewDidLoad ),但显然我的手机上没有显示横幅。我注意到通知确实在通知中心弹出。就在屏幕上,当应用程序仍处于活动状态时,横幅没有出现。
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
localNotif.alertBody = @"Test Push Notification";
localNotif.applicationIconBadgeNumber = 1;
localNotif.soundName=@"default";
[application presentLocalNotificationNow:localNotif];
我已经实施 scheduleLocalNotification 进行测试,但结果是一样的。 我不确定是什么问题。任何帮助或评论将不胜感激。
答案 0 :(得分:2)
如果您的应用位于前台,您将看不到本地通知。来自documentation:
如果你的应用程序是最前面的,那么
application:didReceiveRemoteNotification:
或 在其应用上调用application:didReceiveLocalNotification:
方法 代表
这意味着您应该在app委托中实现这些方法。以下是如何执行此操作的示例:
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Message", nil)
message:notification.alertBody
delegate:self
cancelButtonTitle:NSLocalizedString(@"OK", nil)
otherButtonTitles:nil];
[alert show];
}
(代码改编自this SO answer)
答案 1 :(得分:1)
添加此项并检查
localNotif.fireDate = [NSDate dateWithTimeIntervalSinceNow:2];