как установить дату запуска uilocalnotification на фиксированную дату?

#iphone

#iPhone

Вопрос:

я хочу установить localnotification, скажем, для программы, которая запускается в 18:00 вечера.Для этого я взял время в переменной date и сравниваю его с текущей датой из системы.

Допустим, setDate предназначен для фиксированной даты, т. е. 6: 00 вечера, поэтому я должен установить firedate таким образом, чтобы он показывал уведомление до 30 минут запуска программы. В примерах, которые я видел, дата запуска устанавливается в соответствии с currentdate.

Может кто-нибудь сказать мне, как я могу установить дату запуска в соответствии с моей фиксированной датой??

Комментарии:

1. 1 за вашу лояльность с моей стороны

Ответ №1:

Таким образом вы запускаете локальное уведомление

 UILocalNotification *localNotif = [[UILocalNotification alloc] init];
         if (localNotif == nil)
         return;
         localNotif.fireDate = [NSDate date];// Now here you can manage the fire time.
         localNotif.timeZone = [NSTimeZone defaultTimeZone];
         // Notification details
         localNotif.alertBody = @"BusBuddy";
         // Set the action button
         localNotif.alertAction = @"View";
         localNotif.soundName = UILocalNotificationDefaultSoundName;
         localNotif.applicationIconBadgeNumber = 1;
         // Specify custom data for the notification
         NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"You are near to reach the Bus Stop" forKey:@"someKey"];
         localNotif.userInfo = infoDict;
         // Schedule the notification
         [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
         [localNotif release];
  

Эта строка кода будет работать для вас. для этого вам просто нужно указать дату и время

 localNotif.fireDate = [NSDate date];
  

А теперь для форматирования вашей даты и времени вы можете обратиться к этим ссылкам

Комментарии:

1. привет, спасибо за эту информацию, можете ли вы также помочь мне в том, что когда мы получаем сообщение с напоминанием, мы получаем две кнопки отмены и просмотра, нажав на просмотр, приложение запускается с моей домашней страницы, но я хочу перенаправить его на страницу, где у меня есть список программ со временем ….. есть ли какой-либо способ сделать это???

2. Ну, Неха, если этот ответ тебе помог, ты также можешь проголосовать за меня. Вы не голосовали за меня ….. Тем не менее, тогда я ответил на ваш второй вопрос….

Ответ №2:

Что ж, тогда вы можете обрабатывать свое локальное уведомление в файле делегирования приложения, когда когда-либо получаете уведомление. например, вот метод делегирования, который запускается каждый раз, когда вы получаете локальное уведомление.

 - (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif {
    //Handle the notificaton when the app is running
    NSLog(@"Recieved Notification %@",notif);


        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Hey Neha" message:@"Sanjay wants to be your friend " delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alertView show];
        [alertView release];

        SystemSoundID bell;  
        AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"WhoopFlp" ofType:@"wav"]], amp;bell);  
        AudioServicesPlaySystemSound (bell);

        AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

        i=0;
    }
}
  

Итак, что я здесь делаю, это просто показ предупреждения и воспроизведение системного звука при возникновении моего локального уведомления.
Итак, теперь вам нужно перейти на страницу в программе, на которой вы находились, когда получили локальное уведомление.Итак, просто в этом методе делегирования вам нужно выделить свой view controller и подтолкнуть view controller к тому view, где вы хотите быть.
Это решило бы вашу проблему.
Ну, у меня была похожая проблема, я хотел, чтобы уведомление отображалось как в фоновом режиме, так и во внешнем интерфейсе, поэтому писать 2 разных метода в моем приложении не стоило.итак, я обработал это таким образом в методе делегирования, который также покажет уведомление во внешнем интерфейсе.
Удачи вам.

Комментарии:

1. привет, большое тебе спасибо, и не мог бы ты сказать мне, как я могу проголосовать за тебя, я этого не знаю ……… спасибо

2. Эй, Неха, ты видишь O в левом верхнем углу моего ответа есть 2 стрелки вверх и вниз, тебе нужно нажать стрелку вверх, а также тебе нужно установить галочку на правом значке, который используется для присвоения имени O. Дай мне знать, ты понял это….

Ответ №3:

 localnotification =[[UILocalNotification alloc]init];
[localnotification setFireDate:[NSDate dateWithTimeIntervalSinceNow:[lodatepicker countDownDuration]]];
[localnotification setAlertAction:@"Launch"];
[localnotification setHasAction: YES];
[localnotification setAlertBody:[lotextview text]];
// [localnotification setSoundName:musicString];
localnotification.timeZone = [NSTimeZone defaultTimeZone];
[localnotification setApplicationIconBadgeNumber:[[UIApplication sharedApplication] applicationIconBadgeNumber] 1];
[[UIApplication sharedApplication] scheduleLocalNotification:localnotification];