我使用静音通知从后台唤醒我的应用。当我关闭我的应用程序时一切正常,但当我终止它(向上滑动)它停止工作。我可以感觉到(振动)无声通知已经发出但我的应用程序没有处理它。我做了一个本地通知,当无声通知到达时应该触发。在我的.plist中,我启用了远程通知和后台提取。在AppDelegate.m中我有这个:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
UILocalNotification *notification_ = [[UILocalNotification alloc]init];
notification_.alertBody = [NSString stringWithFormat:@"Psst!"];
notification_.soundName = UILocalNotificationDefaultSoundName;
[notification_ setFireDate:[NSDate dateWithTimeIntervalSinceNow:2]];
[notification_ setTimeZone:[NSTimeZone defaultTimeZone]];
[application setScheduledLocalNotifications:[NSArray arrayWithObject:notification_]];
}
答案 0 :(得分:1)
application:didReceiveRemoteNotification
仅在您的应用实际在前台和后台运行时执行。这就是为什么在终止应用程序后不会调用上述方法的原因。
如果您的应用未运行且已从通知中打开,则应在application:didFinishLaunchingWithOptions
处理通知。 launchOptions
字典应包含引用通知有效负载的密钥UIApplicationLaunchOptionsRemoteNotificationKey
。