#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];