У меня есть UILocalNotification, и я хочу, чтобы при восстановлении приложения с фона на передний план я запускал оповещение. Я могу создать предупреждение в didReceiveLocalNotification, но этот метод можно вызывать только тогда, когда приложение активно. Теперь я хочу проверить, было ли запущено уведомление, когда приложение находится в фоновом режиме, а затем запустить оповещение, когда приложение восстанавливается.
это мой текущий метод
- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
application.applicationIconBadgeNumber = 0;
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSLog(@"prefs %@",[prefs stringForKey:@"kTimerNotificationUserDef"]);
if([prefs stringForKey:@"kTimerNotificationUserDef"] != nil)
{
[prefs setObject:nil forKey:@"kTimerNotificationUserDef"];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Timer Alert" message:[prefs stringForKey:@"kTimerNotificationUserDef"] delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[alert show];
}
}
NSUserDefaults устанавливается, когда я инициализирую уведомление, однако, это предупреждение вызывается, даже если уведомление еще не пришло. Итак, я предполагаю, что я могу сделать что-то вроде:
if([prefs stringForKey:@"kTimerNotificationUserDef"] != nil && didFireNotifFromBackground)
есть предложения? спасибо!