Objective-C 本地通知触发两次
Objective-C local notifications firing two times
我在我的 AppDelegate.m 文件中使用 - (void)applicationDidEnterBackground:(UIApplication *)application
,并且我每天都显示这样的通知:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UILocalNotification *notification = [[UILocalNotification alloc] init];
UIApplication *myapp = [UIApplication sharedApplication];
if (hour > 8 && hour < 10)
{
notification.fireDate = [components date];
notification.repeatInterval = 0;
notification.soundName = @"";
notification.alertBody = @"This is an notification!";
[myapp scheduleLocalNotification:notification];
}
}
一切正常,除非在用户打开应用程序后触发通知并关闭应用程序,然后关闭通知将再次触发。有什么方法不同于 - (void)applicationDidEnterBackground:(UIApplication *)application
(即使应用程序完全关闭也必须显示警报 [被任务管理器杀死])或者我需要用一些代码解决它。
谢谢!
当您的应用程序完全关闭后,您将无能为力。当应用程序进入后台时,您使用的方法是正确的。 applicationWillTerminate
在应用程序终止之前调用。在那之后,就是这样。不再。
我在我的 AppDelegate.m 文件中使用 - (void)applicationDidEnterBackground:(UIApplication *)application
,并且我每天都显示这样的通知:
- (void)applicationDidEnterBackground:(UIApplication *)application
{
UILocalNotification *notification = [[UILocalNotification alloc] init];
UIApplication *myapp = [UIApplication sharedApplication];
if (hour > 8 && hour < 10)
{
notification.fireDate = [components date];
notification.repeatInterval = 0;
notification.soundName = @"";
notification.alertBody = @"This is an notification!";
[myapp scheduleLocalNotification:notification];
}
}
一切正常,除非在用户打开应用程序后触发通知并关闭应用程序,然后关闭通知将再次触发。有什么方法不同于 - (void)applicationDidEnterBackground:(UIApplication *)application
(即使应用程序完全关闭也必须显示警报 [被任务管理器杀死])或者我需要用一些代码解决它。
谢谢!
当您的应用程序完全关闭后,您将无能为力。当应用程序进入后台时,您使用的方法是正确的。 applicationWillTerminate
在应用程序终止之前调用。在那之后,就是这样。不再。