public void CreateAlarm(List <Event> eventList) { AlarmManager.CancelAll(); foreach (Event e in eventList) { if (e.Start.DateTime == null) { continue; } Notification n = new Notification { Title = e.Summary, IsVisible = true }; n.Content = e.Start.DateTime.Value.ToString("yyyy.MM.dd HH:mm") + " - " + e.End.DateTime.Value.ToString("yyyy.MM.dd HH:mm"); Notification.ActiveStyle style = new Notification.ActiveStyle(); style.AddButtonAction(new Notification.ButtonAction { Index = 0, Text = "OK" }); n.AddStyle(style); AlarmManager.CreateAlarm(e.Start.DateTime.Value, n); } }
/// <summary> /// Creates new alarm according to settings from alarmInfo values. If the Delay value is greater than 0, /// the alarm type is set to "delay" alarm type. Otherwise it is "exact date/time" alarm type. /// </summary> /// <param name="alarmInfo">Alarm object.</param> /// <returns>Created Alarm ID.</returns> public int SetAlarm(AlarmInfoViewModel alarmInfo) { AppControl appControl = new AppControl { ApplicationId = alarmInfo.AppInfo.AppId }; Alarm createdAlarm; RemoveAlarm(alarmInfo.AlarmReference); try { if (alarmInfo.Delay > 0) // Delay alarm version. { createdAlarm = AlarmManager.CreateAlarm(alarmInfo.Delay, appControl); } else // Exact date/time alarm version. { if (alarmInfo.IsRepeatEnabled && alarmInfo.DaysFlags.IsAny()) { createdAlarm = AlarmManager.CreateAlarm(alarmInfo.Date, DaysOfWeek2AlarmWeek(alarmInfo.DaysFlags), appControl); } else { createdAlarm = AlarmManager.CreateAlarm(alarmInfo.Date, appControl); } } return(createdAlarm.AlarmId); } catch (Exception e) { Debug.WriteLine("Cannot create alarm. Exception message: " + e.Message); } return(-1); }