具有自定义重复间隔的Windows Phone 8提醒

本文关键字:Windows Phone 提醒 自定义 | 更新日期: 2023-09-27 18:25:30

有没有办法让Reminder按自定义的重复周期工作,比如每4小时?因为我现在知道的唯一选项是将RecurrenceType设置为RecurrenceInterval,它只支持每天、每周、每月和每年的循环。

具有自定义重复间隔的Windows Phone 8提醒

您可以这样做,每4小时重复提醒一次特定的时间:

    private int _intervalHours;
    public int IntervalHours
    {
        get
        {
            return _intervalHours;
        }
        set
        {
            _intervalHours = value;
            RaisePropertyChanged("IntervalHours");
        }
    }
    private int _frequency;
    public int Frequency
    {
        get
        {
            return _frequency;
        }
        set
        {
            _frequency = value;
            RaisePropertyChanged("Frequency");
        }
    }
      //RecurrenceInterval.None is used as a new reminder will be created for every 4  hours in your case
      RecurrenceInterval recurrence = RecurrenceInterval.None;
      //inserting staring reminder
      name = System.Guid.NewGuid().ToString();
      reminder = new Reminder(name);
      reminder.RecurrenceType = recurrence;
      reminder.Title = title;
      reminder.Content = content;
      reminder.BeginTime = beginTime;
      reminder.ExpirationTime = expirationTime;
      reminder.RecurrenceType = recurrence;
      reminder.NavigationUri = navigationUri;
      ScheduledActionService.Add(reminder);
       //inserting reminder for IntervalHours, let say at interval of 4 hours and will added after each IntervalHours upto Frequency(number of time)
       if (IntervalHours > 0)
        {
            //i is started from 1 as 1 reminder added above
            for (int i = 1; i < Frequency; i++)
            {                    
                name = System.Guid.NewGuid().ToString();
                reminder = new Reminder(name);
                reminder.RecurrenceType = recurrence;
                reminder.Title = title;
                reminder.Content = content;
                reminder.BeginTime = beginTime.AddHours(IntervalHours*i);
                reminder.ExpirationTime = expirationTime.AddHours(IntervalHours*i);
                reminder.RecurrenceType = recurrence;
                reminder.NavigationUri = navigationUri;
                ScheduledActionService.Add(reminder);
            }
        }

希望这会有所帮助。

目前在WP8中它不支持。