【发布时间】:2014-08-20 11:19:28
【问题描述】:
我正在 windows mobile phone v8 中开发一个应用程序。它需要添加 60 个警报(每天 2 个警报),但 msdn article 中描述的警报限制为 50 个 单击按钮时,我必须在循环中创建所有 60 个警报,或者我可以添加 10 个警报,并且可以在最后一个警报开始或结束时再添加 10 个。我已经搜索但没有找到任何解决方案。 当警报对话框打开或警报开始时是否有任何事件,也许我可以检查警报是否是最后一个,然后我可以再添加 10 个警报并删除或替换以前的警报。有什么建议 ? 这是我的代码
QList 的值取自数据库
for (int i = 0; i < QList.Count; i++)
{
//double seconds = 60.0 * (double)i;
string alarmName = "Sehar Alert " + i.ToString();
Alarm alarm = new Alarm(alarmName);
alarm.Content = "Its Sehar time in " + Cityname + " City. " + i.ToString();
var reminder = ScheduledActionService.Find(alarmName);
if (reminder != null)
{
ScheduledActionService.Remove(alarmName);
}
string datetime = QList[i].date +" "+ QList[i].Sehar;
DateTime sherTime = Convert.ToDateTime(datetime);
if (sherTime > sherT)
{
// DateTime seharTime = new DateTime(2014, 6, 10, 10, 12, 0);
alarm.BeginTime = sherTime;// DateTime.Now.AddSeconds(seconds);
alarm.Sound = new Uri("Assets/Sounds/azan1.mp3", UriKind.Relative);
// alarm.ExpirationTime = alarm.BeginTime.AddSeconds(10.0);
alarm.RecurrenceType = RecurrenceInterval.None;
ScheduledActionService.Add(alarm);
}
// Aftar time in Different City
string IftarName = "Iftar Alert " + i.ToString();
Alarm Ifatealarm = new Alarm(IftarName);
Ifatealarm.Content = "Its Aftar time in " + Cityname + " City. " + i.ToString();
var Iftarreminder = ScheduledActionService.Find(IftarName);
if (Iftarreminder != null)
{
ScheduledActionService.Remove(IftarName);
}
string Iftardatetime = QList[i].date + " " + QList[i].Iftar;
DateTime IfTarTime = Convert.ToDateTime(Iftardatetime);
if (IfTarTime > sherT)
{
// DateTime seharTime = new DateTime(2014, 6, 10, 10, 12, 0);
Ifatealarm.BeginTime = sherTime;// DateTime.Now.AddSeconds(seconds);
Ifatealarm.Sound = new Uri("Assets/Sounds/azan1.mp3", UriKind.Relative);
// alarm.ExpirationTime = alarm.BeginTime.AddSeconds(10.0);
Ifatealarm.RecurrenceType = RecurrenceInterval.None;
ScheduledActionService.Add(Ifatealarm);
}
}
【问题讨论】:
标签: c# windows-phone-8 scheduled-tasks alarm