在Windows Phone 7和8中设置提醒每隔一天关闭一次



在我的应用程序中,我正在使用提醒服务向用户提供提醒,这会提示他们执行某些操作。我使用以下代码来执行此操作:

if (date > DateTime.Now)
{
    Reminder r = new Reminder(fileTitle);
    r.Title = fileTitle;
    r.Content = fileContent;
    r.BeginTime = date;
    ScheduledActionService.Add(r);
}

但是,这只会关闭一次。我尝试将ExpirationTime设置为某个值,但这每天都会重复提醒。

有谁知道如何设置每隔一天触发一次提醒?

(此外,最好知道如何为一周中的某些日子设置提醒,但每隔一天的部分是目前的主要问题。

对于您的情况,我建议存储警报应该响起的时间。您可以将此信息存储在应用程序设置或文件中。当用户首次请求安排提醒时,请继续您正在执行的操作,然后还要节省警报的时间。您可能还希望询问用户何时希望停止警报并保存该警报。

为了确保警报每隔一天响起,您需要向应用程序添加后台代理。在代理中有一个 OnInvoke 方法。在此方法中,您将检查警报是否已安排。如果是,那么你就无事可做。如果不是,则将其安排在第二天。代理大约每 30 分钟触发一次,因此在代理触发 99% 的时间内,警报/提醒已经安排好了。

这是要放置在 OnInvoke 方法中的代码

string fileTitle = "Foo";
string fileContent = "Bar";
var action = ScheduledActionService.Find(fileTitle);
if (action == null)
{
    // shouldn't be null if it was already added from the app itself.
    // should get the date the user actually wants the alarm to go off.
    DateTime date = DateTime.Now.AddSeconds(30);
    action = new Reminder(fileTitle) { Title = fileTitle, Content = fileContent, BeginTime = date };
}
else if (action.IsScheduled == false)
{
    ScheduledActionService.Remove(fileTitle);
    // most likely fired today, add two days to the begin time.
    // best to also add some logic if BeginTime.Date == Today
    action.BeginTime = action.BeginTime.AddDays(2);
}
ScheduledActionService.Add(action);
您需要

RecurrenceType设置为RecurrenceInterval值。不幸的是,目前没有可用于自定义时间表(即每隔一天)的内容。

又是一哑!真的Microsoft这里。

相关内容

  • 没有找到相关文章

最新更新