我的要求是:每当我们从服务器获得静默推送通知时,应用程序会在30分钟后安排本地通知。
是否有可能在每个应用程序状态? (特别是当app被杀)
如果是,我需要编写一些不同的通知代码,或者我可以使用我用来安排本地通知的相同代码吗?
我的代码是:
(void)application:(UIApplication *)application didReceiveRemoteNotification:
(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))
completionHandler
{
UILocalNotification* localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = currentTime + 30min;
localNotification.alertBody = alertMessage;
localNotification.soundName = UILocalNotificationDefaultSoundName;
localNotification.repeatInterval = repeatInterval;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
}
不幸的是,不是每个应用程序状由于您在didReceiveRemoteNotification
设置了本地通知,并且该方法仅在app正在运行时触发,或者它在后台运行。如果您的应用程序被杀死,或者换句话说它在后台运行或未运行,则不会触发该方法。在这种情况下,当应用程序被杀时,您将无法设置本地通知。