在windows mobile中,如果您创建一个任务,您可以设置一个到期日期和一个时间来提醒您有关该任务。
当时刻准备好提醒您有关任务时,windows mobile将播放声音并显示用户通知,该通知将持续存在,直到您将其排除在外。
现在我想知道是否有什么任务(有多少项?)已经进入了这个“提醒我”的阶段。
我的第一次尝试是SystemState.TasksOverdue,但这不是系统提醒您的任务,而是错过了它们的到期日的任务,这是不一样的。其他的SystemSta.Tasks也一样..。属性:它们都不是系统想提醒您的任务。
有什么方法可以让系统现在主动提醒您的任务吗?
哦,我用c#和.Net Cf2.0编程。
发布于 2010-02-05 11:19:57
我本人对此没有经验,但我的猜测是查看返回当前任务列表的TaskCollection。通过循环,您可以查看ReminderSet、ReminderTime和任务类的StartDate属性,以确定哪些任务目前处于“提醒阶段”。
int activeRemindingTasks = 0;
OutlookSession session = new OutlookSession();
for (Task t in session.Tasks.Items)
{
if (t.ReminderSet && t.ReminderTime <= DateTime.Now)
{
activeRemindingTasks++;
}
}我唯一不知道的是当用户拒绝提醒时会发生什么,而不是打瞌睡。我假设Task的ReminderSet或ReminderRepeat属性将返回false,但您必须检查是否会发生这种情况。
发布于 2010-02-08 01:31:59
这个问题的答案可能会有所帮助,您可以尝试查看活动通知,看看是否能够检测到哪些是任务?
发布于 2010-02-08 01:04:18
您可以使用CeSetUserNotficiationEx API。我不确定这个API是否有C#版本,但是您应该能够很容易地调用它。
另一种方法是使用CeRunAppAtTime运行/通知应用程序事件,并亲自显示通知。然后,您可以使用更花哨的SHNotificationAdd API。SHNotificationAdd只能在ppc设备(触摸屏)上使用。
对不起,我误解了这个问题,所以我的答案是不正确的。
https://stackoverflow.com/questions/2206368
复制相似问题